2017年2月24日 星期五

[NetBeans]將maven專案打包成可執行的JAR檔

一開始用Netbeans開發完的程式,想要直接執行JAR檔是不行的,會顯示


xxx.jar 中沒有主要資訊清單屬性

需要在pom.xml中加入一些設定,讓它編譯出來是可以獨立執行的JAR檔。

將以下內容包在<project> 與</project>中

<build>
        <plugins>
            <plugin>
                <artifactId>maven-assembly-plugin</artifactId>
                <version>2.4</version>
                <configuration>
                    <descriptorRefs>
                        <descriptorRef>jar-with-dependencies</descriptorRef>
                    </descriptorRefs>
                    <archive>
                        <manifest>
                            <mainClass>com.mycompany.your_project.MainClass</mainClass>
                        </manifest>
                    </archive>
                </configuration>
                <executions>
                    <execution>
                        <id>make-assembly</id>
                        <phase>package</phase>
                        <goals>
                            <goal>single</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

說明一下以下這段的意思

<mainClass>com.mycompany.your_project.MainClass</mainClass>

例如我的Main在Main.java中,而我的package是com.boywhy.cool 。

則需要寫成

<mainClass>com.boywhy.cool.Main</mainClass>

假如你原本編譯出來的JAR檔名字為xxx-1.0-SNAPSHOT.jar

加入這段後編譯出來的JAR檔名字為

加入這一段之後編譯就會多出這個xxx-1.0-SNAPSHOT-jar-with-dependencies.jar檔案,

請執行這一個新的檔案,才能夠獨立執行。

沒有留言:

張貼留言