10

I am using maven assembly plugin. in my pom.xml, pakaging type: jar and i dont use maven jar plugin.

Whenever i run mvn clean package, it create 2 jar files: one is from maven assembly, another one is created by default (due to packaging type =jar). I want to keep only the jar file created by assembly plugin only. How to do that?

Jens Björnhager
  • 5,632
  • 3
  • 27
  • 47
David
  • 3,538
  • 9
  • 39
  • 50

1 Answers1

20

You may have your reasons but I doubt that it is a good solution to skip the default jar being built and deployed.

Anyhow here is how you can disable the default jar being built.

<build>
    <plugins>
        <plugin>
            <artifactId>maven-assembly-plugin</artifactId>
            <version>2.3</version>
            <executions>
                <execution>
                    <phase>package</phase>
                    <id>make-assembly</id>
                    <goals>
                        <goal>single</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <!-- some configuration of yours... -->
            </configuration>
        </plugin>
        <plugin>
            <artifactId>maven-jar-plugin</artifactId>
            <version>2.3.1</version>
            <executions>
                <execution>
                    <id>default-jar</id>
                    <!-- put the default-jar in the none phase to skip it from being created -->
                    <phase>none</phase>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>
maba
  • 47,113
  • 10
  • 108
  • 118
  • Thanks maba. It works. in my jar file, i need to embed some other jar, xml config files inside. That is the reason i use maven-assembly (i dont know if maven jar can help me to do that). And because the jar file that created by default is useless (due to lacking of embedded other files). So i prefer stopping creating it. And only create the jar file by maven-assembly – David Oct 10 '12 at 15:35
  • 2
    I did the same steps but for me the default jar still gets created. – Noor Syed Sep 09 '14 at 21:35
  • 1
    Causes problem when shade is being used. – Nicholas Hamilton Apr 24 '18 at 13:31