天天看點

java-maven生成可執行的 jar 包

java-maven生成可執行的 jar 包

預設的mvn install生成的jar是不帶主類入口的,需要在maven-compile-plugin中設定主類,

主程式入口位置:target\classes\META-INF\MANIFEST.MF 檔案的 Main-Class 配置項,預設生成沒有此項。完整的 MANIFEST.MF 内容

Manifest-Version: 1.0

Built-By: admin

Build-Jdk: 1.8.0_111

Created-By: Maven Integration for Eclipse

Main-Class: console.demo.main.App  //指定主程式入口

一、建立個 maven project 項目,建立 App.java 檔案

ole.demo.main;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        println("hello word!");
    }
    
    public static void println(String msg){
        System.out.println( msg );
    }

    public static void print(String msg){
        System.out.print( msg );
    }
}      

二、在 pom.xml 加入 build 配置

<project>
  ....
  </dependencies>
  <build>
    <!-- jar 包名字-->
    <finalName>exe-test</finalName>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-jar-plugin</artifactId>
          <configuration>
            <source>1.8</source>
            <target>1.8</target>
            <archive>
              <manifest>
                <!-- main 函數所在的包名 -->
                <mainClass>console.demo.main.App</mainClass>
                <addClasspath>true</addClasspath>
                <classpathPrefix>lib/</classpathPrefix>
              </manifest>

            </archive>
            <classesDirectory></classesDirectory>
          </configuration>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>
</project>      

三、生成jar包

右鍵項目=》Run as =》Maven install

四、運作jar包,顯示 hello word!