IDEA项目打包几种方式

第一种,最常见的使用maven,

项目的pom文件中引入spring-boot-maven-plugin插件
<build>
        <finalName>文件名称</finalName>

        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>版本</version>
                <configuration>
                    <mainClass>
                        main主入口
                    </mainClass>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

这里配置完成之后,就可以自动打包了,这时候选择idea右侧的Maven,再点来Lifecycle,双击package,
在这里插入图片描述
这是其一,其二就是另外一个打包命令
在这里插入图片描述
同样双击即可,然后就是等待
这时候会自动进行打包,寻找相关依赖,直到看到
在这里插入图片描述
这就说明打包成功了,然后找到项目,找到target文件夹,就可以看到已经打包好的jar包,
在这里插入图片描述
复制到任何地方使用cmd命令窗口就可以执行了,

这是最常见的打包方式,适用于绝大部分项目,
当然了,有时候并不是单个的boot项目,而是cloud分布式的项目,这时候多个模块存在互相依赖的情况,使用上述方法,可能再maven库里并没有相关的依赖的模块jar包,这时候就需要第二种打包方式了,

第二种,使用IDEA将项目打包,

现在由于使用的是cloud微服务,在子服务的项目中又构建了很多的子模块相互依赖,这时候打包,会去maven设置的maven库中查找相对应的包和xml文件,如果没有的话,是不会打包成功的,推荐这种打包模式,首先打开file—project-Structure界面,选择project
在这里插入图片描述
这里一般都默认好了,还是注意看一下,
然后选择modules,一般也是默认好的,没啥可改的
然后libraries,一般也是默认好的,没啥可改的
然后facets,一般也是默认好的,没啥可改的
然后,选择SDKs,看看你的JDK是否正确
然后就是主要的打包位置了,

Artifacts

在这里插入图片描述
首先,进来肯定是空的,这时我们需要进行新建jar,4部曲,

在这里插入图片描述
会弹出一个对话框,这里选择我们要打包模块的module,然后选择main程序的主入口,一般都是识别了,自己选择一下,主要的是第三步,选择完主程序后,会默认到java文件夹,需要我们切换到resources文件夹,来生成MANIFEST.MF文件,点击确定后可以看到,
在这里插入图片描述
已经自动生成了文件夹,
在这里插入图片描述
新的artifacts就创建好了
1,这里就是我们创建好的jar
2,这里是jar的名称
3,应该是输出jar位置,自动生成,没改过,不太清楚作用还
4,现有的依赖关系,如果向我这种模块太多的,可以将右边有小三角的,统统右键加到左边来,以防万一,在这里插入图片描述
然后点击apply,OK

这样,基本的JAR包设置就好了,马上执行打包,

点击 Build ----- Build Artifacts

在这里插入图片描述
弹出新的确认框,在这里插入图片描述
点击Build,静静等待完成,
在这里插入图片描述
找到生成的classes,复制出去,然后找到里面的yml,已经我们定义的启动jar包,为了方便,我都是一样的字母开头,
在这里插入图片描述
这之后就是跟上面的第一种方式一样了,cmd,命令启动我们新生成的jar包,
这种方式缺点就是打的包过于庞大,基本所有的jar都是单提出来使用,浪费硬盘空间,
这也是无奈之举,
好了,这就是我目前总结的两种打包方式,后期如果发现新的会继续更新,

再见

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐