
今年我采访了阿里maven安装jar包,腾讯和美团后,我发现了一个重要发现……......
翻译成3种向Maven项目添加本地jar的方式
[目录]
在构建Maven项目时,有时需要导入本地jar包. 本文介绍了三种添加本地jar包的方法.
手动将jar包添加到本地仓库中添加为系统范围依赖项创建其他本地仓库使用Nexus仓库管理器
第一个解决方案是通过Maven目标install: install-file命令将jar软件包安装到本地存储库. 该插件的使用很简单,如下所示:
MVN安装: install-file -Dfile = <文件路径>

注意: 我们尚未定义依赖于软件包的groupId,articleId,版本,包装属性. 实际上,从2.5版本的Maven-install-plugin插件开始,可以从特定的pom文件中获得此信息.
这些属性也可以添加到命令行:
MVN安装: 安装文件-Dfile = <文件路径> -DgroupId = <组ID> -DartifactId = <工件ID> -Dversion = <版本>
位置:

示例:
MVN安装: 安装文件--Dfile = C: \ dev \ app.jar -DgroupId = com.roufid.tutorials -DartifactId = example-app -Dversion = 1.0
以与添加pom依赖包相同的方式,可以将上述jar包导入到maven项目中:
<dependency>
<groupId>com.roufid.tutorials</groupId>
<artifactId>example-app</artifactId>
<version>1.0</version>
</dependency>
这种添加本地依赖项的方法非常昂贵. 因为它将依赖文件直接添加到本地Maven存储库,所以如果一天切换本地存储库,则必须再次重新安装jar包. 同时,这不利于项目迁移和协同开发.
另一种解决方案是在pom文件中使用maven-install-plugin插件. 此方法将在maven初始化阶段添加相应的jar包. 为了达到上述效果,必须定义jar包需要安装的路径. 最好的方法是将需要安装的jar包放置在项目根路径(与pom.xml相同的目录)中的文件夹中.

我们假定jar包的位置为
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-install-plugin</artifactId>
<version>2.5</version>
<executions>
<execution>
<phase>initialize</phase>
<goals>
<goal>install-file</goal>
</goals>
<configuration>
<groupId>com.roufid.tutorials</groupId>
<artifactId>example-app</artifactId>
<version>1.0</version>
<packaging>jar</packaging>
<file>${basedir}/lib/app.jar</file>
</configuration>
</execution>
</executions>
</plugin>
$ {basedir}指pom.xml所在的根路径.
添加上述代码时,您可能会遇到错误(未遇到> _ <),然后添加以下配置以允许maven生命周期的映射关系:
<pluginManagement>
<plugins>
<!--This plugin's configuration is used to store Eclipse m2e settings only.
It has no influence on the Maven build itself. -->
<plugin>
<groupId>org.eclipse.m2e</groupId>
<artifactId>lifecycle-mapping</artifactId>
<version>1.0.0</version>
<configuration>
<lifecycleMappingMetadata>
<pluginExecutions>
<pluginExecution>
<pluginExecutionFilter>
<groupId>org.codehaus.mojo</groupId>
<artifactId>aspectj-maven-plugin</artifactId>
<versionRange>[1.0,)</versionRange>
<goals>
<goal>test-compile</goal>
<goal>compile</goal>
</goals>
</pluginExecutionFilter>
<action>
<execute />
</action>
</pluginExecution>
<pluginExecution>
<pluginExecutionFilter>
<groupId>
org.apache.maven.plugins
</groupId>
<artifactId>
maven-install-plugin
</artifactId>
<versionRange>
[2.5,)
</versionRange>
<goals>
<goal>install-file</goal>
</goals>
</pluginExecutionFilter>
<action>
<execute>
<runOnIncremental>false</runOnIncremental>
</execute>
</action>
</pluginExecution>
</pluginExecutions>
</lifecycleMappingMetadata>
</configuration>
</plugin>
</plugins>
</pluginManagement>
此解决方案(不是特别好)是通过添加系统范围并指向jar包的完整路径. 如果jar包的路径是
<dependency>
<groupId>com.roufid.tutorials</groupId>
<artifactId>example-app</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>${basedir}/lib/yourJar.jar</systemPath>
</dependency>

$ {basedir}指pom.xml所在的根路径.
第三种解决方案与第一种解决方案类似,不同之处在于,已安装jar包的位置. 假设我们有一个名为maven-repository的本地存储库,其位置为$ {basedir}(pom.xml所在的根路径). 第一步是将jar包部署到本地存储库,如下所示:
mvn deploy: deploy-file -Dfile = <文件路径> -DgroupId = <组ID> -DartifactId =
通常,Maven命令deploy: deploy-file将人工安装在远程存储库中,但是在此示例中,存储库地址为本地. 添加jar包后,需要在相应的pom文件中添加相应的存储库:
<repositories>
<repository>
<id>maven-repository</id>
<url>file:///${project.basedir}/maven-repository</url>
</repository>
</repositories>
然后添加相应的依赖项:
<dependency>
<groupId>com.roufid.tutorials</groupId>
<artifactId>example-app</artifactId>
<version>1.0</version>
</dependency>
最好的方法当然是建立自己的私有云仓库. 如何安装?在这里戳
695856371
|喜欢此站点的朋友可以将其添加为书签,或加入我们一起交流技术!
欢迎访问梁仲霖的个人博客网站. 该个人博客网站提供了最新的网站管理员新闻和各种Internet信息. 还提供个人博客模板maven安装jar包,最新和最完整的Java教程,Java面试问题. 在这里,我将竭尽所能,使这个个人博客网站成为最佳网站!谢谢大家,希望大家一起进步!
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/shouji/article-162471-1.html
不会再收美帝的剥削