maven systemPath方式加载和打包

Posted ZL小屁孩

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了maven systemPath方式加载和打包相关的知识,希望对你有一定的参考价值。

在开发工程中,有些jar是自己开发的,当被引用到其他工程或项目中时,需要把自己开发的jar添加到其他工程中。在此记录以下,使用IntelliJ IDEA 2019.2.3和apache-maven-3.3.9实现加载jar和使用maven打包时,把自己开发的jar打进去:

在pom.xml文件中配置如下:

在依赖中添加:

<dependency>
	<groupId>com.scopa.graph</groupId>
	<artifactId>deep-analysis</artifactId>
	<version>1.0</version>
	<scope>system</scope>
	<systemPath>$project.basedir/lib/deep-analysis-1.0.jar</systemPath>
</dependency>

解释:

groupId:此名称可自定义,com.scopa.graph是我自定义的名称;

artifactId:此名称可自定义,deep-analysis是我自定义的名称,不过这个最好与加载的jar(deep-analysis-1.0.jar)名称保持一致,我要加载的jar名称为deep-analysis-1.0.jar,artifactId名称通常不加版本号,artifactId名称与加载的jar名称保持以下,因此artifactId的名称可定义为deep-analysis

version:此为加载的jar版本号,最好与加载的jar保持一致,加载的jar名称为deep-analysis-1.0.jar,版本号为后面的数字。这个可修改,但是version不能丢失。

scope:使用system

systemPath:本地jar文件你放在系统文件的目录,$project.basedir表示项目根目录,直接这样写就行,lib/deep-analysis-1.0.jar是自己开发的jar。

把deep-analysis-1.0.jar打包时,打进项目或工程中:

<resources>
	<resource>
		<!--把src/main/java目录下的properties、xm文件打包打进程序中-->
		<directory>src/main/java</directory>
		<includes>
			<include>**/*.properties</include>
			<include>**/*.xml</include>
		</includes>
		<filtering>false</filtering>
	</resource>

	<resource>
		<!--把src/main/resources目录下的properties、xm文件打包打进程序中-->
		<directory>src/main/resources</directory>
		<includes>
			<include>**/*.properties</include>
			<include>**/*.xml</include>
		</includes>
		<filtering>false</filtering>
	</resource>

	<resource>
		<!--把lib/目录下第三方jar包打进程序中,如上面的systemPath目录下的jar-->
		<directory>lib/</directory>
		<includes>
			<include>**/*.jar</include>
		</includes>
		<filtering>false</filtering>
	</resource>
</resources>

这样,使用命令:

           mvn clean

          mvn  package  -D  skipTests 命令即可

以上是关于maven systemPath方式加载和打包的主要内容,如果未能解决你的问题,请参考以下文章

带有 <systemPath> 标记的 Maven 项目 POM 中的条目未包含在生成的战争文件 WEB-INF\lib 文件夹中

Spring Boot——Maven使用SystemPath引用本地jar:ClassNotFoundException

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

maven 管理ueditor百度编辑器的jar包出错,出错信息如下:

maven打包jar,不依赖spring

SYSTEMPATH/CodeIgniter.php 在第 219 行