IDEA打包的两种方式及注意事项

方式一、build打包

1、进入project structure

2、要选择启动类以及MANIFEST.MF选择src目录下即可

之后在项目里会生成一个META-INF文件夹,就是存储了项目的元信息,其中文件manifest.mf仅此一份,描述了程序的基本信息、Main-Class的入口、jar依赖路径Class-Path。(不用管就行)

3、进行build打包

打包后生成jar包应该位于项目下out目录中。(如果启动有问题无法解决,可尝试方式二)

方式二:maven打包

1、pom添加依赖

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <configuration>
                <!--选择启动类-->
                <mainClass>com.sunsheen.DataArchivesApplication</mainClass>
                <!--允许添加本地jar包-->
                <includeSystemScope>true</includeSystemScope>
            </configuration>
            <executions>
                <execution>
                    <goals>
                        <goal>repackage</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

如果有本地jar包需添加:

需要引入本地jar包,我把jar存放的项目中的/src/main/resources/lib 下

<dependency>
    <groupId>org.gbase</groupId>
    <artifactId>gbase-connector-java</artifactId>
    <scope>system</scope>
    <version>8.3</version>
    <systemPath>${project.basedir}/src/main/resources/lib/gbase.jar</systemPath>
</dependency>

scope:需要配置指定为system;
systemPath:指向jar包的地址;
groupId、artifactId、version:可以随意填写,其中artifactId+version就是maven打包后的jar包名

之后先clean之前的target,再package就可以target目录下生成jar包了。 

命令行方式:

<!--打jar包命令 mvn clean install -Dmaven.test.skip=true-->

<!--打war包命令 mvn clean package -Dmaven.test.skip=true-->

 

最后打包生成的文件:

.jar.original 是普通jar包,不包含依赖
.jar 是可执行jar包,包含了pom中的所有依赖,可以直接用java -jar 命令执行
如果是部署,就用.jar
如果是给别的项目用,就要给.jar.original这个包

注意:如果打包后运行提示ClassNotFoundException,可以看看是不是引入包的范围设置有误。如下图,<scope>import</scope> 的作用是将依赖项标记为“import”范围,这意味着该依赖项只用于编译和测试,而不会包含在最终的打包结果中。

  • 6
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值