gpt4 book ai didi

java - 如何在maven中添加jar依赖?

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

当我运行时

mvn compile

我得到包 com.ibm.icu.util 不存在。所以我下载了 ICU4J jar 并将其安装到本地存储库中。我确认它位于 .m2/repository/com/ibm/icu/icu4j/3.4.4/icu4j-3.4.4.jar 中。该 jar 文件内是缺少的类文件 com/ibm/icu/util/Calendar.class。然后我将以下内容添加到 pom.xml 的依赖项部分:

<dependency>
<groupId>com.ibm.icu</groupId>
<artifactId>icu4j</artifactId>
<version>3.4.4</version>
</dependency>

但是当我再次运行mvncompile时,我得到了同样的错误。我做错了什么?

最佳答案

您应该避免手动添加依赖项。

如果您不知道所需依赖项的 groupId 和 artifactId,请在 http://mvnrepository.com/ 中搜索。 。通常,groupId 与 jar 文件中的包名称匹配。

对于您的情况,依赖项已经存在:http://mvnrepository.com/search?q=com.ibm.icu因此,请转到http://mvnrepository.com/artifact/com.ibm.icu/icu4j并获取您需要的依赖项的版本,例如55.1:http://mvnrepository.com/artifact/com.ibm.icu/icu4j/55.1获取 maven 依赖项 xml 并将其放入您的 pom.xml 文件中:

<dependency>
<groupId>com.ibm.icu</groupId>
<artifactId>icu4j</artifactId>
<version>55.1</version>
</dependency>

如果您没有找到您的依赖项,请尝试在谷歌中找到它。有时,依赖关系可能会在某些公司公共(public)存储库中找到,而不是在 central 中找到。 。此时需要将第三方仓库添加到 repositories section你的 pom.xml。

<小时/>

如果您无法在公共(public)存储库中找到您的依赖项,那么您有三个选择:

A.将jar安装到内部存储库服务器(例如nexus)

B. 将 JAR 文件放入您的项目源中并 declare project maven repository :

<repositories>
<repository>
<id>my-local-repo</id>
<url>file://${basedir}/my-repo</url>
</repository>
</repositories>

重要提示:您应该保留 maven repository layout在您的本地存储库中。

C. [不良做法] 使用maven install plugin将自定义 jar 安装到计算机上的本地存储库。但这是不好的,不推荐。

mvn org.apache.maven.plugins:maven-install-plugin:2.5.2:install-file -Dfile=path-to-your-artifact-jar -DpomFile=path-to-pom

D. [Bad Practice] Use system dependency with absolute path to the JAR file, although it's a bad practice and should be avoided.

<dependency>
<groupId>test</groupId>
<artifactId>test</artifactId>
<version>X.Y.Z</version>
<scope>system</scope>
<systemPath>${user.home}/jars/my.jar</systemPath>
</dependency>

关于java - 如何在maven中添加jar依赖?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31084116/

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