IDEA MAVEN项目打包成jar包的两种简单方式

IDEA MAVEN项目打包成jar包的两种简单方式

准备了两个打包方法

1.IEDA自带打包方法
2.用Maven插件maven-shade-plugin打包

IDEA自带打包

适用于任何打包,稍微麻烦一点。
打开IDEA项目 file -> Project Structure
在这里插入图片描述
选择运行的类文件
在这里插入图片描述
确定后重新Build Artifas–jar包,如图所示,之后在项目out输出里就会有相应的jar包了。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

用maven插件 maven-shade-plugin打包

再pom.xml中添加以下代码,可以直接maven打包


<plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-shade-plugin</artifactId>
                <version>1.4</version>
                <configuration>
                    <createDependencyReducedPom>true</createDependencyReducedPom>
                </configuration>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>shade</goal>
                        </goals>
                        <configuration>
                            <transformers>
                                <transformer
                                        implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                                    <mainClass>Main.Main</mainClass>
                                </transformer>
                            </transformers>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

在这里插入图片描述
打包好后可在jar包所在文件夹,在工作目录输入cmd,进入命令行,输入命令java -jar +jar包名,如java -jar test.jar 即可运行jar项目
在这里插入图片描述
在这里插入图片描述

Maven 项目打包JAR 文件时,默认生JAR 可能是普通的库文件,而不是可以直接运行的应用程序。如果看不到 Java 图标,通常是因为以下几个原因: ### 可能的原因及解决办法 #### 1. **未设置 `Main-Class` 属性** 如果你在创建 JAR 文件时没有指定主类(即含 `public static void main(String[] args)` 的入口点),那么这个 JAR 文件就不是一个可执行文件。 解决方案: - 确保你的项目的 `pom.xml` 中含了正确的插件配置,例如 `maven-jar-plugin` 或者 `maven-assembly-plugin`。 ```xml <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>3.2.0</version> <configuration> <archive> <manifest> <!-- 指定主类 --> <mainClass>com.example.MainApp</mainClass> </manifest> </archive> </configuration> </plugin> </plugins> </build> ``` #### 2. **依赖未被打包JAR** 默认情况下,Maven 打出的 JAR 文件只括你自己写的代码,并不会自动添加第三方依赖项到最终的 JAR 文件里。因此,当尝试运行它时可能会缺少必要的类导致错误。 解决方法: 使用阴影插件(shade plugin)来构建一个“fat jar”(也叫uber-jar),即将所有需要的依赖都嵌入其中的一个单独的大JAR文件内。 示例: ```xml <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>3.2.4</version> <executions> <execution> <phase>package</phase> <goals> <goal>shade</goal> </goals> </execution> </executions> </plugin> ``` #### 3. **操作系统相关的问题** 很多时候是否显示 java 样式的图标取决于目标平台如何识别该类型的文件以及关联的应用程序。如果你是在 Windows 上操作的话,则还需要确认系统已经正确设置了 `.jar` 后缀名与 JVM 进行绑定。 --- ### 总结步骤 为了让你打包后的 JAR 出现预期效果,请按照以上建议修改 POM 配置并重新构建;同时注意检查环境变量 PATH 和 JAVA_HOME 设置无误即可。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值