我無法從簡單的Java程序製作可執行jar。使用Maven Shade插件創建可執行JAR
我跟着these Maven instructions和修改我的pom.xml
:
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>1.7</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<transformers>
<transformer implementation=
"org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>package.MyClass</mainClass>
</transformer>
</transformers>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
當執行install
目標,我可以讀行:
[INFO] Replacing /home/project-1.0.0.jar with /home/project-1.0.0-shaded.jar
但所有我能找到在那個位置是project-1.0.0.jar
,實際上包含依賴關係 - 並且具有合適的大小 - 但是當試圖用我的jre執行它時,它會說:
The file '/home/project-1.0.0.jar' is not marked as executable.
因此什麼都得不到執行!
如何讓我的jar正確執行?
感謝您的幫助!
你是如何嘗試執行呢?它不像我說的那樣,「java -jar MYJARFILE」 – bmargulies
實際上,我必須首先在我的Ubuntu上使其可執行...... –
@Vakimshaar Ubuntu上的可執行標誌不是必需的,因爲它將被執行由JVM ......而不是由操作系統本身。 – khmarbaise