假设我们有一个简单的 Java 项目,编译成 simple.jar,其 POM 依赖于 log4j.jar。当我打开simple-1.0.jar时,里面没有log4j.jar。然后我们将这个 simple-1.0.jar 上传到 Nexus 上。
现在将这个simple-1.0.jar部署到目标服务器时,我们如何部署log4j.jar?
谢谢 吉荣
最佳答案
您可以将依赖项与应用程序一起打包(即创建 uber-jar、WAR 或 EAR 文件),也可以将依赖项 jar 部署到服务器上的某个位置,然后在运行时将该位置设置为类路径 jar 。
将应用程序打包为 Uber-JAR
使用 Maven 创建 uber-jar 的一种方法是使用 maven-shade-plugin
部署依赖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
关于java - 我们如何部署二进制依赖项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34051259/