如何在maven存储库中找到正确的JAR版本

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在maven存储库中找到正确的JAR版本相关的知识,希望对你有一定的参考价值。

参考技术A 以下是显示maven仓库中jar依赖关系的步骤:
1、创建一个新的Maven项目:
mvn archetype:create -DgroupId=org.sonatype.mavenbook.ch3 -DartifactId=simple -DpackageName=org.sonatype.mavenbook
2、构建打包应用:
mvn install[在pom.xml同级目录下执行]
3、查看项目完整的pom.xml文件,包括系统默认设置以及用户自定义设置:
mvn help:effective-pom
4、生成报告或者文档:
mvn site
5、mvn exec:java执行目标类
mvn exec:java -Dexec.mainClass=org.sonatype.mavenbook.weather.Main
6、查看插件的完整描述:
mvn help:describe -Dplugin=exec -Dfull
7、找出该项目所依赖的项目(jar)列表:
mvn dependency:resolve
mvn dependency:analyze(找出项目非直接依赖)
结果如下:
[INFO] The following files have been resolved:
[INFO] com.ibm.icu:icu4j:jar:2.6.1:compile
[INFO] commons-collections:commons-collections:jar:3.1:compile
[INFO] commons-lang:commons-lang:jar:2.1:compile
[INFO] dom4j:dom4j:jar:1.6.1:compile
[INFO] jaxen:jaxen:jar:1.1.1:compile
[INFO] jdom:jdom:jar:1.0:compile
[INFO] junit:junit:jar:3.8.1:test
[INFO] log4j:log4j:jar:1.2.14:compile
[INFO] oro:oro:jar:2.0.8:compile
[INFO] velocity:velocity:jar:1.5:compile
[INFO] xalan:xalan:jar:2.6.0:compile
[INFO] xerces:xercesImpl:jar:2.6.2:compile
[INFO] xerces:xmlParserAPIs:jar:2.6.2:compile
[INFO] xml-apis:xml-apis:jar:1.0.b2:compile
[INFO] xom:xom:jar:1.0:compile
8、查看整个项目的依赖树:
mvn dependency:tree
结果如下:
[INFO] org.sonatype.mavenbook.ch04:simple-weather:jar:1.0
[INFO] +- log4j:log4j:jar:1.2.14:compile
[INFO] +- dom4j:dom4j:jar:1.6.1:compile
[INFO] | \- xml-apis:xml-apis:jar:1.0.b2:compile
[INFO] +- jaxen:jaxen:jar:1.1.1:compile
[INFO] | +- jdom:jdom:jar:1.0:compile
[INFO] | +- xerces:xercesImpl:jar:2.6.2:compile
[INFO] | \- xom:xom:jar:1.0:compile
[INFO] | +- xerces:xmlParserAPIs:jar:2.6.2:compile
[INFO] | +- xalan:xalan:jar:2.6.0:compile
[INFO] | \- com.ibm.icu:icu4j:jar:2.6.1:compile
[INFO] +- velocity:velocity:jar:1.5:compile
[INFO] | +- commons-collections:commons-collections:jar:3.1:compile
[INFO] | +- commons-lang:commons-lang:jar:2.1:compile
[INFO] | \- oro:oro:jar:2.0.8:compile
[INFO] \- junit:junit:jar:3.8.1:test
9、查看完整的依赖,包括那些因为冲突而被拒绝引入的依赖:
mvn install -X
10、打包应用(jar):
mvn install assembly:assembly
11、在 Jetty Servlet 容器中启动你的 web 应用:
mvn jetty:run
12、重新编译:
mvn compile

如何配置 Bamboo,使其自动从 SVN 中的本地存储库中提取依赖的 jar?

【中文标题】如何配置 Bamboo,使其自动从 SVN 中的本地存储库中提取依赖的 jar?【英文标题】:How to configure Bamboo such that it pulls automatically the dependent jars from a local repository that is in SVN? 【发布时间】:2011-02-25 20:15:15 【问题描述】:

我已经用 Bamboo 配置了 maven,并且有一个包含组织特定 jar 的本地存储库。这些 jar 存储在 SVN 中。问题是,当我向存储库(在 SVN 中)添加 jar 并将依赖项添加到 pom xml 时,Maven 不会从 SVN 中检出它。在 Bamboo 中配置一个干净的构建目标。我缺少什么配置设置?帮助表示赞赏!!!

【问题讨论】:

【参考方案1】:

即使您的项目是使用 maven 构建的,您还是将 JAR 存储在存储库中?这是否意味着每个开发人员在从 SVN 签出 JAR(连同源文件)后都必须手动将其添加到他的本地存储库中?

到目前为止,在我看到的大多数配置中,Bamboo 都使用公司范围内的 Nexus 存储库,与所有开发人员使用的相同。这样,添加到此存储库的每个 JAR 都可供 Bamboo 构建和团队成员使用。

每次我们需要添加一些第三方/公司特定的 JAR 时,我们只需在提交代码之前将其添加到 Nexus,以确保 Bamboo 和其他开发人员的构建都不会失败。

【讨论】:

嗨 Tomasz,感谢您的回复!开发人员无需手动添加本地存储库。它是在父 pom 中配置的,它会查找这个包含 jar 的 Checked out maven 项目。 Maven 完成其余工作以将 jar 复制到本地存储库。顺便说一句,我会查看 Nexus 存储库。

以上是关于如何在maven存储库中找到正确的JAR版本的主要内容,如果未能解决你的问题,请参考以下文章

AWS Athena JDBC 驱动程序并在 Maven 存储库中找到?

如何让 Grails 从 Maven 存储库中获取最新的本地 jars?

如何强制 IntelliJ 中的 Maven 从本地 .m2 存储库中提取特定依赖项

maven Local Repo 版本神器

如何配置 Bamboo,使其自动从 SVN 中的本地存储库中提取依赖的 jar?

如果存储库中有相同快照版本的发布版本,如何停止 Maven 构建?