天天看点

可执行JAR包(一)打包

一、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
 
           
可执行JAR包(一)打包
可执行JAR包(一)打包
注意:
1.Class-Path中的各项应使用空格分隔
2.Class-Path中如果有很多项需要分多行写,从第二行开始,必须以两个空格开头
3.结尾一定要有一个空行
           

2.导出JAR包

可执行JAR包(一)打包
可执行JAR包(一)打包
可执行JAR包(一)打包

3.打包完之后,新建一个文件夹,把新生成的jar文件放进去,再把lib文件夹整个放进去

可执行JAR包(一)打包

4.java -jar执行

可执行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>