I\'m sorry to sound ignorant here, but I\'m new to Maven, and have been banging my head against something that I\'m sure is quite simple.
The docs say:
If I understand your problem correctly, your ZIP is correctly created, but the my-app-0.0.1-SNAPSHOT
contained in it (as well as the JAR directly located in target/
directory) does not include your main class in the MANIFEST.MF
file?
In fact, the assembly
plugin is not dedicated to execute such a task. This is the task of the JAR plugin, which provides a way to indicates, in the MANIFEST.MF
the main class of your project. You simply must add this configuration in your current pom.xml
:
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
...
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<mainClass>my.app.MainClass</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
</plugins>
Regarding your try to change the packaging of the project to a pom
packaging: it was a bad idea ;) Indeed, the pom
packaging is used for project without any other resources than the pom.xml
itself. It is really useful for pom.xml
that are defined as the parent of others projects, or to aggregate multiples modules.