gpt4 book ai didi

maven-2 - Maven : use dependencies from repository when running command line app?

转载 作者:行者123 更新时间:2023-12-02 14:40:43 24 4
gpt4 key购买 nike

我使用 Maven 来构建我的命令行应用程序。现在我要将其作为 jar 文件分发,并且我需要处理应用程序的依赖项。

我不想在 jar 文件中包含所有依赖项,如here所述.

我的应用程序运行的环境有 Maven。我希望 Maven 运行我的 jar,查看包内的文件 META-INF/groupId/artifactId/pom.xml,以便它知道依赖项是什么,并可以在存储库中找到它们。

有什么想法吗?

最佳答案

在 jar 中包含一个主类,1) 将 pom 提取到临时文件,2) 使用带有 -f 参数和目标的文件启动一个新的 Maven 进程 dependency:resolvedependency:build-classpath

像这样:

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 必须包含所有必需的存储库信息

关于maven-2 - Maven : use dependencies from repository when running command line app?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2943404/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com