我使用 Maven 来构建我的命令行应用程序。现在我要将其作为 jar 文件分发,并且我需要处理应用程序的依赖项。
我不想按照描述在 jar 文件中包含所有依赖项here http://www.sonatype.com/books/mvnex-book/reference/customizing-sect-custom-packaged.html#customizing-sect-attaching-assembly.
我的应用程序运行的环境有 Maven。我希望 Maven 运行我的 jar 查看文件META-INF/groupId/artifactId/pom.xml
在包内,以便它知道依赖项是什么,并可以在存储库中找到它们。
有任何想法吗 ?
在 jar 中包含一个主类,1) 将 pom 提取到临时文件,2) 使用带有 -f 参数和目标的文件启动一个新的 Maven 进程依赖:解决 http://maven.apache.org/plugins/maven-dependency-plugin/resolve-mojo.html and 依赖:构建类路径 http://maven.apache.org/plugins/maven-dependency-plugin/build-classpath-mojo.html
像这样:
mvn -f /temp/tempfile.xml dependency:resolve dependency:build-classpath -DoutputFile=/temp/classpath.txt
然后 3) 读取新创建的类路径文件,4) 使用新的类路径文件启动一个新的 java 进程
java -cp yourjar.jar;<created classpath>
当然,您的 pom.xml 必须包含所有必需的存储库信息
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)