I want to package my project in a single non-executable library JAR for distribution.
How can I make a Maven project package all dependency JARs into my output JAR?
There is a jar-with-dependencies option in Maven assembly plugin to create an executable JAR with dependencies. There is a reciept to obtain the goal. However, I need to build a library jar without Main class. How can I build such a jar?
            Asked
            
        
        
            Active
            
        
            Viewed 2,033 times
        
    1
            
            
         
    
    
        Loom
        
- 9,768
- 22
- 60
- 112
- 
                    Just build it and don't use the `maven-jar-plugin` per default it builds a non-executable `.jar` file. When the packaging is `jar` – CodeMatrix Jul 04 '19 at 12:56
- 
                    There is a maven shade plugin, I believe that is what you are looking for. It will repack your dependencies directly into your jar. But I obviously have no idea why would you need it like that – maslan Jul 04 '19 at 13:09
1 Answers
0
            
            
        Its not necessary that you use the maven-jar-plugin to build a non-executable jar. The mvn clean install command by default builds a non-executable jar if it has the node <packaging>jar</packaging> in your projects pom.xml.
 
    
    
        Leo Varghese
        
- 165
- 1
- 2
- 12
- 
                    Actually, this is a way to build a non-executable jar __without__ dependencies – Loom Jul 04 '19 at 13:48
- 
                    Thanks for the correction. Hope the maven-shade plugin helps you create a jar with dependencies. But not sure if it can be done without a Main class. – Leo Varghese Jul 05 '19 at 05:12