How to build jars from IntelliJ properly?

前端 未结 20 2472
盖世英雄少女心
盖世英雄少女心 2020-11-22 01:14

I have a project that contains a single module, and some dependencies. I\'d like to create a jar, in a separate directory, that contains the compiled module. In addition, I\

20条回答
  •  粉色の甜心
    2020-11-22 02:09

    This is still an issue in 2017, I hope it will help somebody out there! I found 2 possibilities to create working jar-s under IntelliJ 2017.2

    1. Creating artifact from IntelliJ:

    • Go to project structure:

    • Create a new artifact:

    • Select the main class, and be sure to change the manifest folder:

    You have to change manifest directory:

    \src\main\java 
    

    replace "java" with "resources"

    \src\main\resources
    

    This is how it should look like:

    • Then you choose the dependencies what you want to be packed IN your jar, or NEAR your jar file

    • To build your artifact go to build artifacts and choose "rebuild". It will create an "out" folder with your jar file and its dependencies.

    2. Using maven-assembly-plugin

    Add build section to the pom file

        
            
                
                    maven-assembly-plugin
                    
                        ServiceCreate
                        false
                        
                            
                                com.svt.optimoo.App
                            
                        
                        
                            jar-with-dependencies
                        
                    
                
                
                    org.apache.maven.plugins
                    maven-compiler-plugin
                    
                        1.8
                        1.8
                    
                
            
        
    
    • Create a new run/debug configuration:

    • Choose application:

    • Fill in the form
    • Add the "assembly:single" maven goal after build to be executed last

    • Save it, then run

    This procedure will create the jar file under the "target" folder

提交回复
热议问题