当前位置: 首页 > 知识库问答 >
问题:

Gradle>如何将只具有所需依赖项的JAR部署到远程计算机

郎诚
2023-03-14
task copyDependencies(type: Copy) {
  from configurations.runtime
  into "build/libs/deps"
}

最后,我计划通过ssh将生成的jar和依赖项jar复制到远程主机,但我想应该有一种方法可以通过一个gradle任务直接完成这一任务

真诚地希望有人能给出一些有用的提示

共有1个答案

颜功
2023-03-14

您需要创建一个fatJar,您可以在这里找到一个如何实现它的示例:

用Gradle构建一个uberjar

对于复制到远程目录,您可以在这里获得一个使用ant任务的示例:如何在gradle任务中通过scp复制目录?

 类似资料:
  • 我是和的新手。我正在尝试在远程计算机上运行hdfs MapReduce作业。我没有写入/编辑依赖项文件的权限。我想知道是否可以将我的Maven项目传递给我的MapReduce作业。这样,我就不需要SSH进入远程机器并更改maven项目的依赖关系。我将使用包含远程计算机上未包含的所有所需依赖项的JAR来运行我的MapReduce作业。

  • null hibernate等的所有其他依赖项似乎都正确地部署到上面的相同dir中。 当我将eclipse更改为使用BuildShip时,这个问题就被打破了。以前我使用过Eclipse STS(Spring)插件,它工作得很好。 以下是web项目(WebApp)build.gradle: 以下是用于Common(未部署)的build.gradle: 下面是顶层项目(CmbProject)的buil

  • 例如,xxy-company-api-9.0.jar,这个jar可能需要abc-9.1.jar,commons-lang-1.0.jar等。当POM引用xxy-company工件时,它应该自动获取所有依赖的jar。有可能吗?怎么做? 备注 我们有第三方的JAR,我们没有与这些JAR相关联的源代码项目。我们从供应商、供应商或其他公司获得这些罐子。当我们收到这些罐子时,它会伴随着依赖的罐子等。 问题:

  • 在处理过程中,我想导入一个我用Java编写的库,它环绕一个外部库(一个.jar文件)。 update2:另一个有效的选项是“将所需库提取到生成的JAR中”。这样做允许JAR在内部访问引用。这似乎同样适用于N.L.Telaviv的建议,但情况似乎并非如此。如果不想有任何额外的文件,请选择此选项。如果查看.jar文件,您会注意到外部库位于一个单独的包文件夹中。

  • 这是我的毕业档案 然而,当我使用gradlebuild时,当输出jar在Minecraft中运行时会发生以下错误 这是json中的代码。JAVA 我猜这是因为这个jar中没有依赖项(json-lib),但是我在构建配置文件中设置了它,我想问一下是什么原因导致了这个mod的完整代码(https://github.com/SiongSng/RPMTW-Update-Mod/tree/master/1.

  • 我需要创建所有依赖项的jar。我有一个spring项目,它与数据库一起工作,我需要在另一台计算机上启动Spring Boot应用程序,那里只有Java。我想只有一个jar文件,并用启动它,如何创建这个jar? UPD:我现在的pom: