java-maven生成可執行的 jar 包

草青工作室發表於2017-03-29
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!
java -jar D:\....\target\exe-test.jar

相關文章