У меня возникли проблемы с созданием исполняемого файла из простой Java-программы.Создание исполняемого JAR с плагином Maven Shade
Я последовал 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.
Таким образом, ничего не получается!
Как я могу заставить свою банку выполнить правильно?
Спасибо за помощь!
Как вы пытаетесь выполнить его? Это не выглядит так, как если бы вы сказали: «java -jar MYJARFILE» – bmargulies
Ну, на самом деле, мне нужно было сделать его исполняемым на моем первом Ubuntu ... –
@Vakimshaar Исполняемый флаг на Ubuntu не является необходимым, потому что он будет выполнен от JVM ... а не от самого os. – khmarbaise