H__D  

一、普及jar包知识

  例如(举例子解释)

  • 类文件(.class) test-java-1.0-SNAPSHOT.jar

  • 文档包(API) test-java-1.0-SNAPSHOT-javadoc.jar

  • 资源包(code) test-java-1.0-SNAPSHOT-sources.jar

  

二、使用方法

1.类文件(.class) test-java-1.0-SNAPSHOT.jar

  反编译,最暴力直接的方法,将jar包拖进IDEA里查看

2.文档包(API) test-java-1.0-SNAPSHOT-javadoc.jar

  解压该文件,打开index.html查看

  

3.资源包  test-java-1.0-SNAPSHOT-sources.jar

  拖进IDEA直接查看

二、生成方法

1.类文件(.class) test-java-1.0-SNAPSHOT.jar

  直接使用maven打包生成即可

2.文档包(API) test-java-1.0-SNAPSHOT-javadoc.jar

  使用 maven-javadoc-plugin 插件生成javadoc.jar

3.资源包  test-java-1.0-SNAPSHOT-sources.jar

  使用 maven-source-plugin 插件生成sources.jar

完整pom文件如下:

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <project xmlns="http://maven.apache.org/POM/4.0.0"
 3          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 4          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 5     <modelVersion>4.0.0</modelVersion>
 6 
 7     <groupId>com.test</groupId>
 8     <artifactId>test-java</artifactId>
 9     <version>1.0-SNAPSHOT</version>
10     <dependencies>
11         <dependency>
12             <groupId>junit</groupId>
13             <artifactId>junit</artifactId>
14             <version>4.12</version>
15             <scope>compile</scope>
16         </dependency>
17     </dependencies>
18 
19     <build>
20 
21         <plugins>
22             <plugin>
23                 <!-- Maven 编译插件
24                 指定maven编译的jdk版本,如果不指定,
25                 maven3默认用jdk 1.5 maven2默认用jdk1.3 -->
26                 <groupId>org.apache.maven.plugins</groupId>
27                 <artifactId>maven-compiler-plugin</artifactId>
28                 <version>3.8.1</version>
29                 <configuration>
30                     <!-- 一般而言,target与source是保持一致的,但是,有时候为了让程序能在其他版本的jdk中运行(对于低版本目标jdk,源代码中不能使用低版本jdk中不支持的语法),会存在target不同于source的情况 -->
31                     <source>1.8</source> <!-- 源代码使用的JDK版本 -->
32                     <target>1.8</target> <!-- 需要生成的目标class文件的编译版本 -->
33                     <encoding>UTF-8</encoding><!-- 字符集编码 -->
34                     <verbose>true</verbose>
35                     <showWarnings>true</showWarnings>
36                     <fork>true</fork><!-- 要使compilerVersion标签生效,还需要将fork设为true,用于明确表示编译版本配置的可用 -->
37                     <executable><!-- path-to-javac --></executable><!-- 使用指定的javac命令,例如:<executable>${JAVA_1_4_HOME}/bin/javac</executable> -->
38                     <compilerVersion>1.3</compilerVersion><!-- 指定插件将使用的编译器的版本 -->
39                     <meminitial>128m</meminitial><!-- 编译器使用的初始内存 -->
40                     <maxmem>512m</maxmem><!-- 编译器使用的最大内存 -->
41 <!--                    <compilerArgument>-verbose -bootclasspath ${java.home}\lib\rt.jar</compilerArgument>&lt;!&ndash; 这个选项用来传递编译器自身不包含但是却支持的参数选项 &ndash;&gt;-->
42                 </configuration>
43             </plugin>
44 
45             <!-- 生成javadoc文档包的插件 -->
46             <plugin>
47                 <groupId>org.apache.maven.plugins</groupId>
48                 <artifactId>maven-javadoc-plugin</artifactId>
49                 <version>3.2.0</version>
50                 <executions>
51                     <execution>
52                         <id>attach-javadocs</id>
53                         <goals>
54                             <goal>jar</goal>
55                         </goals>
56                     </execution>
57                 </executions>
58             </plugin>
59 
60             <!-- 生成sources源码包的插件 -->
61             <plugin>
62                 <groupId>org.apache.maven.plugins</groupId>
63                 <artifactId>maven-source-plugin</artifactId>
64                 <version>3.2.1</version>
65                 <configuration>
66                     <attach>true</attach>
67                 </configuration>
68                 <executions>
69                     <execution>
70                         <!-- 在package阶段之后会执行源代码打包 -->
71                         <phase>package</phase>
72                         <goals>
73                             <goal>jar-no-fork</goal>
74                         </goals>
75                     </execution>
76                 </executions>
77             </plugin>
78         </plugins>
79     </build>
80 
81 </project>

 

  • 配置好插件后,使用maven package命令既能在target目录中查看到三个jar包

  命令:mvn package

  • 如果要把三种jar包安装到本地仓库

  命令:mvn install

  • 如果要把三种jar包发布到远程仓库

  命令:mvn deploy

 

posted on 2021-05-07 15:41  H__D  阅读(2172)  评论(0编辑  收藏  举报