一、Eclipse通过MANIFEST.MF文件
1.在项目根目录(src同级目录)创建META-INF\MANIFEST.MF文件
Manifest-Version: 1.0
Main-Class: com.asiainfo.RunMain
Class-Path: ./lib/commons-collections-3.2.jar ./lib/commons-dbcp-1.2.2.jar
./lib/commons-lang-2.3.jar ./lib/commons-logging-1.1.jar
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIyZuBnLwADN4ITO1ATMzETMxkTMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
注意:
1.Class-Path中的各项应使用空格分隔
2.Class-Path中如果有很多项需要分多行写,从第二行开始,必须以两个空格开头
3.结尾一定要有一个空行
2.导出JAR包
3.打包完之后,新建一个文件夹,把新生成的jar文件放进去,再把lib文件夹整个放进去
4.java -jar执行
二、IDEA通过maven-jar-plugin插件直接打包
1.不特殊处理通过mvn直接打包,需要启动时指定main类,另外不包括pom文件中的依赖包。
java -cp xxx.jar 主类全限定名
2.修改pom文件
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifest>
<mainClass>com.asiainfo.RunMain</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
<plugin>
<groupId>com.jolira</groupId>
<artifactId>onejar-maven-plugin</artifactId>
<version>1.4.4</version>
<executions>
<execution>
<configuration>
<attachToBuild>true</attachToBuild>
<classifier>onejar</classifier>
</configuration>
<goals>
<goal>one-jar</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.*</include>
</includes>
</resource>
</resources>
</build>
3.通过mvn打包
可执行JAR包(一)打包
4.通过java -jar xxx.jar执行
三、IDEA通过maven-jar-plugin插件直接打包
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>utf-8</encoding>
</configuration>
</plugin>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<archive>
<manifest>
<mainClass>test.core.Core</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.*</include>
</includes>
</resource>
</resources>
</build>