maven-jar-plugin的使用


一、版本清单

maven-jar-plugin  3.1.0

jdk               1.8 

二、简单使用

 1 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 2     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 3     <modelVersion>4.0.0</modelVersion>
 4 
 5     <groupId>com.yh.maven</groupId>
 6     <artifactId>maven-jar-plugin</artifactId>
 7     <version>0.0.1-SNAPSHOT</version>
 8     <packaging>jar</packaging>
 9 
10     <name>maven_jar_plugin</name>
11     <url>http://maven.apache.org</url>
12 
13     <properties>
14         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
15     </properties>
16 
17     <build>
18         <plugins>
19             <plugin>
20                 <groupId>org.apache.maven.plugins</groupId>
21                 <artifactId>maven-jar-plugin</artifactId>
22                 <version>3.1.0</version>
23                 <configuration>
24                     <archive>
25                         <manifest>
26                             <!-- 指定入口函数 -->
27                             <mainClass>com.yh.main.HelloMavenJar</mainClass>
28                             <!-- 是否添加依赖的jar路径配置 -->
29                             <addClasspath>true</addClasspath>
30                             <!-- 依赖的jar包存放位置,和生成的jar放在同一级目录下 -->
31                             <classpathPrefix>lib/</classpathPrefix>
32                         </manifest>
33                     </archive>
34                 </configuration>
35             </plugin>
36         </plugins>
37     </build>
38 </project>

在我使用这个 jar 包的时候就需要在它同一级的创建一个lib目录来存放,我自己 jar 包所需要的依赖啦。不然就会包找不到类错误。

 

三、includes和excludes

有时候我们想要有选择的打包某些内容,就可以使用includes或excludes啦。

 1 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 2     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 3     <modelVersion>4.0.0</modelVersion>
 4 
 5     <groupId>com.yh.maven</groupId>
 6     <artifactId>maven-jar-plugin</artifactId>
 7     <version>0.0.1-SNAPSHOT</version>
 8     <packaging>jar</packaging>
 9 
10     <name>maven_jar_plugin</name>
11     <url>http://maven.apache.org</url>
12 
13     <properties>
14         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
15     </properties>
16 
17     <build>
18         <plugins>
19             <plugin>
20                 <groupId>org.apache.maven.plugins</groupId>
21                 <artifactId>maven-jar-plugin</artifactId>
22                 <version>3.1.0</version>
23                 <configuration>
24                     <archive>
25                         <manifest>
26                             <!-- 指定入口函数 -->
27                             <mainClass>com.yh.main.HelloMavenJar</mainClass>
28                             <!-- 是否添加依赖的jar路径配置 -->
29                             <addClasspath>true</addClasspath>
30                             <!-- 依赖的jar包存放未知,和生成的jar放在同一级目录下 -->
31                             <classpathPrefix>lib/</classpathPrefix>
32                         </manifest>
33                     </archive>
34                     <!-- 不打包com.yh.excludes下面的所有类 -->
35                     <excludes>com/yh/excludes/*</excludes>
36                 </configuration>
37             </plugin>
38         </plugins>
39     </build>
40 </project>
41     

 特别注意:这里的includes和excludes是依据编译后的的classes这个路径来计算的。

看看我们向项目结构:

打包结果:

可以看到在这个包下并没有打包进来Excludes这个类。 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM