When using the jar-with-dependencies descriptorRef for the maven-assembly-plugin, it creates two files by default, the normal default jar with any library dependencies excluded, and a second jar with all the libraries included appended with “jar-with-dependencies”. Since I find maven help guides unintuitive, it took a while before we found the appendAssemblyId option to turn it off. Here’s the snippet of the pom.xml to create just a single far jar.
<plugin> <artifactId>maven-assembly-plugin</artifactId> <configuration> <appendAssemblyId>false</appendAssemblyId> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> </configuration> <executions> <execution> <id>make-assembly</id> <phase>package</phase> <goals> <goal>assembly</goal> </goals> </execution> </executions> </plugin>
I was looking for that to !
I tried your solution but it doesnt work for me
maven tells me :
————————————————————————
[ERROR] FATAL ERROR
————————————————————————
[INFO] An invalid artifact was detected.
This artifact might be in your project’s POM, or it might have been included transitively during the resolution process. Here is the information we do have for
this artifact:
o GroupID: test.test2
o ArtifactID: myid
o Version: 1.0-SNAPSHOT
o Type: jar
which is actually the project that i’m trying to package
do you have an idee for that ?
i missed some information :
org.apache.maven.artifact.InvalidArtifactRTException: For artifact {test.test2:myid:1.0-SNAPSHOT:jar}: An attached artifact must have a different ID than its corresponding main artifact.
I did a couple of searches, and here’s some links I found:
http://www.mail-archive.com/users@maven.apache.org/msg74371.html
http://maven.apache.org/ref/2.0.4/maven-project/xref/org/apache/maven/project/artifact/AttachedArtifact.html
I think it’s saying that you probably have the goal for the plugin as
attached
instead of what I have above,assembly
. I never tried that, so I have no idea if that works. It would also help to see your pom.xml.Please leave a comment if this worked for you.
Hi,
I also encountered the same problem as n0rad.
i changed
<appendAssemblyId>false</appendAssemblyId>
to
<appendAssemblyId>true</appendAssemblyId>
now it works fine
sunil
Thank you..
Saved my day!