我们如何部署二进制依赖项?
How do we deploy the binary dependencies?
假设我们有一个简单的 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并设置classpath
在这种情况下,您将在目标机器上的某处创建一个“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 项目编译成 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并设置classpath
在这种情况下,您将在目标机器上的某处创建一个“libs”文件夹,并将所有相关的 jar 文件复制到该文件夹中。
然后当您启动您的应用程序时,您将像这样设置类路径:
java -classpath /{libs directory} -jar simple-1.0.jar
可以通过用 :
分隔它们来指定多个类路径条目,例如:
java -classpath /{directory1}:/{directory2} -jar simple-1.0.jar
您可以使用依赖插件让 Maven 列出已解析的依赖项:
mvn dependency:list