【Java】class.jar和sources.jar及javadoc.jar三种jar包
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
【Java】class.jar和sources.jar及javadoc.jar三种jar包⼀、普及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="/POM/4.0.0"
3 xmlns:xsi="/2001/XMLSchema-instance"
4 xsi:schemaLocation="/POM/4.0.0 /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><!– 这个选项⽤来传递编译器⾃⾝不包含但是却⽀持的参数选项 –>-->
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。