Java 我们如何部署二进制依赖项?

Java 我们如何部署二进制依赖项?,java,maven,binary,pom.xml,nexus,Java,Maven,Binary,Pom.xml,Nexus,假设我们有一个简单的Java项目编译成一个simple.jar,其POM依赖于log4j.jar。当我打开simple-1.0.jar时,里面没有log4j.jar。然后我们将这个simple-1.0.jar上传到Nexus上 现在,在将这个simple-1.0.jar部署到目标服务器时,我们如何部署log4j.jar 谢谢 Jirong您可以将依赖项与应用程序打包(即创建uber jar、WAR或EAR文件),也可以将依赖项jar部署到服务器上的某个位置,然后在运行jar时将该位置设置为类路径

假设我们有一个简单的Java项目编译成一个simple.jar,其POM依赖于log4j.jar。当我打开simple-1.0.jar时,里面没有log4j.jar。然后我们将这个simple-1.0.jar上传到Nexus上

现在,在将这个simple-1.0.jar部署到目标服务器时,我们如何部署log4j.jar

谢谢
Jirong

您可以将依赖项与应用程序打包(即创建uber jar、WAR或EAR文件),也可以将依赖项jar部署到服务器上的某个位置,然后在运行jar时将该位置设置为类路径

将应用程序打包为Uber JAR 使用Maven创建uber jar的一种方法是使用

部署依赖JAR并设置类路径 在这个场景中,您将在目标机器上的某个位置创建一个“libs”文件夹,并将所有依赖jar复制到此文件夹中

然后,在启动应用程序时,您可以如下设置类路径:

java -classpath /{libs directory} -jar simple-1.0.jar
可以通过使用
分隔多个类路径条目来指定它们,如:

java -classpath /{directory1}:/{directory2} -jar simple-1.0.jar
您可以让Maven使用依赖插件列出已解析的依赖项:

mvn dependency:list

使用第二种方法,我们如何知道在使用UrbanCode、Chef、Puppet等工具进行自动部署时要安装哪些依赖Jar?这是最难的部分,也是为什么应该将应用程序打包为Uber Jar。您可以使用dependency plugin:mvn dependency:list使用maven查看依赖关系