记导入第三方jar包及Springboot项目打包后运行报错解决方案

一、引入第三方jar包

  • 首先选中Project Structure模块
    在这里插入图片描述
  • 按以下操作导入jar包至libraries库中,即可使用jar包内容
    在这里插入图片描述

二、打包项目

  • 导入到libraries中后,执行mvn clean install打包是会报错的,此时我们需要把jar包引入到本地maven库中,并添加相应依赖
    在这里插入图片描述
  • 执行以下操作加载jar包
mvn install:install-file -Dfile=Jar包所在位置 -DgroupId=jar包所指的groupid -DartifactId=jar包所指的artifactId -Dversion=版本号 -Dpackaging=jar
  • 执行完成后在pom中引入相关依赖
    在这里插入图片描述
    至此,我们可以进行正常打包。
    在这里插入图片描述
    打包完成。

三、运行jar包

执行java -jar xxx.jar
在这里插入图片描述
发现报主清单属性错而无法运行,此时我们可以通过可以自己指定main,告知springboot项目主启动类的位置

<build>
 <finalName>test</finalName><!-- 导出jar的名字 -->
        <plugins>
        <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>2.1.0.RELEASE</version>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-shade-plugin</artifactId>
                <version>3.2.0</version>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>shade</goal>
                        </goals>
                        <configuration>
                            <transformers>
                                <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                                    <mainClass>testdemo.demo.DemoApplication</mainClass>
                                </transformer>
                            </transformers>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
  • 再次打包后运行java -jar xxx.jar
    在这里插入图片描述
    出现了Error: A JNI error has occurred, please check your installation and try again错误
    这是由于Exception in thread "main" java.lang.SecurityException: Invalid signature file digest for Manifest main attributes异常引起的
    如果出现此错误是因为我们的打包方式没有生成META-INF这个文件夹,针对这种错误我们需要在Project Structure中进行更改,快捷键Ctrl+Alt+Shift+S,然后进行以下操作
    在这里插入图片描述
    JAR from Modules有两个选项,extract to the target JAR和copy to the output directory and link via manifest,
    extract to the target JAR:将第三方jar包打包到目标中,只生成一个jar包
    copy to the output directoru and link via manfes:将第三方包copy的目标jar包目录,有多个jar包
    在这里插入图片描述
    META-INF文件位置在src目录下,或者与src同级目录均可
    设置好之后再通过Build工具进行下述操作
    在这里插入图片描述
    在这里插入图片描述
    等待执行完毕,进入项目的out/artifacts目录中再次运行jar包
    在这里插入图片描述
    至此jar包成功运行
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值