1、普通Java项目打包
1、创建一个普通的java
项目

2、添加
Artificats

3、选择
Module
和对应的Main class

4、配置完成之后在
MANIFEST.MF
文件中显示相关配置 Main-Class: com.sj.Main

5、
Build
完成后生成testJava_10.jar
包6、在终端
cd
到当前文件夹路径,执行命令java -jar testJava_10.jar
,控制台输入相应的结果 。
2、Maven项目中打包
2.1、maven-jar-plugin
1、在Maven
项目中添加Main
类
public class Main {
public static void main(String[] args) {
System.out.println(1);
System.out.println(DruidDataSourceFactory.class);
System.out.println(2);
}
}
2、在pom.xml
中配置以下内容
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.0.2</version>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<!-- 依赖的文件内容在lib文件夹下面-->
<classpathPrefix>lib</classpathPrefix>
<!-- 打包的住入口函数-->
<mainClass>com.sj.Main</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>3.1.2</version>
<executions>
<execution>
<goals>
<!-- 拷贝依赖-->
<goal>copy-dependencies</goal>
</goals>
<configuration>
<!-- 将jar依赖包拷贝到lib文件夹下面-->
<outputDirectory>${project.build.directory}/lib</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
3、双击Maven
属性栏下的package
命令,打包生成HelloJava_09-1.0.0.jar
,以及依赖文件夹lib
。

4、
cd
到当前目录下输入命令:java -jar HelloJava_09-1.0.0.jar
,控制台打印输出
1
class com.alibaba.druid.pool.DruidDataSourceFactory
2
2.2、maven-assembly-plugin
1、在pom.xml
中配置以下内容。
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>3.3.0</version>
<configuration>
<archive>
<manifest>
<mainClass>com.sj.Main</mainClass>
</manifest>
</archive>
<descriptorRefs>
<!-- 将依赖塞入jar包中-->
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<finalName>helloJava</finalName>
<!-- false 不会将helloJava拼接在后面-->
<appendAssemblyId>false</appendAssemblyId>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
2、双击Maven
属性栏下的clean
命令,然后在双击package
命令,打包生成helloJava.jar
包。

3、
cd
到当前目录下输入命令:java -jar helloJava.jar
,控制台成功打印输出。
2.3、maven-shade-plugin
1、pom.xml
文件内容
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.2.3</version>
<executions>
<execution>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<shadedArtifactAttached>true</shadedArtifactAttached>
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>com.sj.Main</mainClass>
</transformer>
</transformers>
<finalName>HelloJar</finalName>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
2、先双击clean
,后双击package
,打包生成helloJar.jar
包。
3、cd
到当前目录下输入命令:java -jar helloJavr.jar
,控制台成功打印输出。
2.4、spring-boot-maven-plugin
1、pom.xml
文件
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.3.0.RELEASE</version>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
<configuration>
<mainClass>com.sj.Main</mainClass>
<finalName>HelloSpring</finalName>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
2、先双击clean
,后双击package
,打包生成helloSpring.jar
包。
3、cd
到当前目录下输入命令:java -jar helloSpring.jar
,控制台成功打印输出。
2.5、安装本地jar
包到Maven
的本地仓库
通过以上后三种方式打出
jar
包,所有的依赖都是通过Maven
的远程参考下载,如果有本地lib
文件的依赖则打包失败,需要先将jar
包安装到本地仓库。
mvn install:install-file -Dfile=jar的路径 -DgroupId=组织 -DartificatId=库名 -Dversion=版本 -Dpackaging=jar
网友评论