一、包的几种用途
·直接可运行的jar包:类似于单个应用程序
·依赖引用的jar包:编写Java项目时pom.xml中引用的jar包
·Web应用程序war包:一般是一些Web程序
二、打包的几种方式
1.开发工具打包
例如:IDEA、Eclipse等开发工具。不过打的包很容易出现冲突
2.maven命令打包
2.1 直接使用package命令
不能打可直接运行的jar包
2.2添加“maven-jar-plugin”插件
mainClass属性可以指定主类,可直接运行
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.4</version>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<classpathPrefix>lib/</classpathPrefix>
<mainClass>demo01.JobMain2</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
2.3添加“maven-shade-plugin”插件
运行时需要指定主类全路径
jar包出现依赖包冲突可以通过调整配置解决
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>2.4.3</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<minimizeJar>true</minimizeJar>
</configuration>
</execution>
</executions>
</plugin>
三、性能比较
shade>assembly>IDEA自带>package>jar插件
未完成