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