如何把本地maven仓库里的jar包

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何把本地maven仓库里的jar包相关的知识,希望对你有一定的参考价值。

1. 将jar包安装到本地repository中

mvn install:install-file -Dfile=my-jar.jar -DgroupId=org.richard -DartifactId=my-jar -Dversion=1.0 -Dpackaging=jar

2.添加 in project repository,在新机器上执行时就不用运行mvn install:install-file命令了

<repository> <id>in-project</id> <name>In Project Repo</name> <url>file://$project.basedir/lib</url></repository> <dependency> <groupId>org.richard</groupId> <artifactId>my-jar</artifactId> <version>1.0</version></dependency>
参考技术A 查看conf.xml文件中配置的地址

怎么把jar包发布到maven仓库

在Maven项目中使用本地JAR包有两种方法:
1. 使用system scope

<dependencies>
<dependency>
<groupId>org.richard</groupId>
<artifactId>my-jar</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>$project.basedir/lib/my-jar.jar</systemPath>
</dependency>
</dependencies>

system scope引入的包,在使用jar-with-dependencies打包时将不会被包含,可以使用resources将本地包打进jar-with-dependencies

<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<finalName>xxx-jar-with-dependencies</finalName>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
<resources>
<resource>
<targetPath>lib/</targetPath>
<directory>lib/</directory>
<includes>
<include>**/my-jar.jar</include>
</includes>
</resource>
</resources>
</build>

生成的xxx-jar-with-dependencies.jar中,将会包含lib目录以及my-jar.jar,并且能够被在执行的时候被找到。
有的时候这种方法会实效,比如JDBCDriver在声明的时候Class.forName("xxx.Driver")就会说找不到类,用下面两种方法就可以。
2. 将jar包安装到本地repository中
mvn install:install-file -Dfile=my-jar.jar -DgroupId=org.richard -DartifactId=my-jar -Dversion=1.0 -Dpackaging=jar

3. 添加 in project repository,在新机器上执行时就不用运行mvn install:install-file命令了

<repository>
<id>in-project</id>
<name>In Project Repo</name>
<url>file://$project.basedir/lib</url></repository>

<dependency>
<groupId>org.richard</groupId>
<artifactId>my-jar</artifactId>
<version>1.0</version>
</dependency>

你的jar包及路径必须严格遵循格式:
/groupId/artifactId/version/artifactId-verion.jar
本例中: lib/org/richard/my-jar/1.0/my-jar-1.0.jar
参考技术A mvn install

以上是关于如何把本地maven仓库里的jar包的主要内容,如果未能解决你的问题,请参考以下文章

Maven依赖的是本地工程还是仓库jar包

如何把maven本地仓库的jar删掉

如何把一个jar包打包到本地maven仓库

如何向maven本地仓库添加jar包?

如何将本地jar导入到maven的本地仓库

如何把maven中心仓库的包加载到本地仓库