gpt4 book ai didi

java - Maven依赖问题

转载 作者:行者123 更新时间:2023-12-01 17:40:26 24 4
gpt4 key购买 nike

所以我终于开始尝试并安装了 maven2,但我遇到了一些问题。

我的代码依赖于我使用 install:install-file 安装的一些第三方 jar。然后我将这些 jar 列为我的 pom.xml 中的依赖项。 Maven 可以很好地编译和打包它。但是当我像这样运行我的 jar 时:

java -cp“目标/*”com.blah.App

它不起作用,因为它找不到运行时所需的一些类。这些类位于已安装并用于编译的 jar 中。

我已将该 jar 的依赖关系范围列为“已提供”。我也尝试过使用“系统”,但这也不起作用。我做错了什么?

如果我这样做,我可以让它运行:

java -cp“target/*:path/to/jar1:path/to/jar2”com.blah.App

但是必须有某种方法让maven将所需的jar放在目标目录中。

最佳答案

您不应该将“provided”用于正常依赖项。 “Provided”用于假定在运行时可用的依赖项,例如 J2EE 应用程序的 J2EE API。

您的应用程序无法运行的原因是,现在您的依赖项位于 Maven 存储库中,需要将它们添加到类路径中。

对于像您这样的普通 Java 应用程序,您可以使用 maven-dependency-plugin将依赖项复制到目录(从 Maven 存储库)并配置 maven-jar-plugin将 jar 文件添加到 list 类路径(通过创建可执行 jar)。

更新:您可能还想搜索 Maven 中央存储库以查看您的依赖项是否已经存在,这样您就不必手动将它们安装到本地存储库中。它们很可能已经存在(如果它们是开源的)。

关于java - Maven依赖问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1529243/

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