导出maven工程为可执行jar包 , idea上面

发布时间 2023-09-11 17:51:03作者: yxchun

1、在pom.xml添加插件

 <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-assembly-plugin</artifactId>
                <version>2.4</version>
                <configuration>
                    <appendAssemblyId>false</appendAssemblyId>
                    <descriptorRefs>
                        <descriptorRef>jar-with-dependencies</descriptorRef>
                    </descriptorRefs>
                    <archive>
                        <manifest>
                            <!-- 主程序入口类 -->
                            <mainClass>chun.auto01.GetVedioAndFile</mainClass>
                        </manifest>
                    </archive>
                </configuration>
                <executions>
                    <execution>
                        <id>make-assembly</id>
                        <phase>package</phase>
                        <goals>
                            <goal>single</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

2、右键点击工程根目录 , 选择 " Open Module Settings " ,在 " Project Structure " 对话框中的 " Artifacts " 选项卡 , 点击 " + " 按钮 , 选择 " Add " 下拉菜单中的 " JAR " 选项的 " From modules with dependencies " 子项目

 3、弹出 " Create JAR from Modules " 对话框 , 点击 " Main Class " 右侧的文件夹按钮 ,选择主程序入口;

" JAR files from libraries " 选项选择 " extract to the target JAR " , " Directory for META_INF/MANIFEST.MF " 选项设置的是当前的主函数配置文件生成位置 ;

 

4、点击 " OK " 后 , IntelliJ IDEA 会在 src 目录下生成 META-INF/MANIFEST.MF 文件 ,

 5、

选择 " 菜单栏 / Build / Build Artifacts " 选项 , 选择后 , 会在屏幕中心位置弹出 Build Artifact 选项 , 选择 " Build " 选项 ;

 

 

6、jar包位置 out/artifacts/

 

7、运行 java  -jar  xxx.jar

 8、报错处理,找不到主类,no main manifest attribute, in xxx.jar

用压缩器打开jar,找到META-INF,打开文件MAINIFEST.INF,看里面是否有Main-Class,没有的话加上主类的路径即可

 

 

 

 Main-Class 与步骤4的位置一致

 

 

 

参考:https://cloud.tencent.com/developer/article/2248452

https://www.cnblogs.com/jonban/p/10695525.html