springboot项目maven打包编译第三方jar包,报错:找不到符号,找不到jar中的类

项目中引入的本地的jar包,在自己本地运行也是没有任何问题,但是在打包发布的时候就会报错找不到自己引入的文件。

刚开始在网上找决绝办法是感觉很简单。

下面是网上最多的解决办法:

1.首先在pom中添加本地jar包的依赖

其中groupId    artifactId    和version自己随便写。scope作用于定义为system,systemPath定义为jar包在项目中的路径(${basedir}就是项目的根目录):

<dependency>
    <groupId>com.xxx.util</groupId>
    <artifactId>com.xxx.util</artifactId>
    <version>1.2</version>
    <scope>system</scope>
    <systemPath>${project.basedir}/src/main/resources/lib/xxx.jar</systemPath>
</dependency>

 2.光做这些还是不够的,这样只能保证我们在本地能够正常运行,打包还是不会被打包进去,所以说我们需要在引入的springboot的maven插件中告诉maven,将我们的刚刚引入的作用域为

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 当我们将一个Java项目打包成可执行的jar文件时,有时会遇到“错误:不到或无法加载主”的情况。这种错误通常是由于打包时指定的主与实际的主不一致所致。 要解决这个问题,我们可以采取以下步骤: 1. 确认打包时指定的主是否正确,可以在项目的配置文件查看。如Maven项目的pom.xml的<build><finalName>、<plugins><maven-jar-plugin>等。 2. 检查项目是否被正确地编译到了jar文件。可以使用压缩软件打开jar文件,查看其的class文件。 3. 如果上述步骤均正确,还要检查系统环境变量及其它配置是否正确。比如路径(Classpath)是否设置正确,对于多个jar包,需要通过“:”分隔开。 4. 如果仍然无法解决问题,可以通过在命令行运行jar文件的方式,查看出错信息,从而得到更具体的错误提示。 总之,“不到或无法加载主”错误通常是由打包时的配置错误造成的,需要仔细确认打包时的配置是否正确,同时结合命令行的出错信息进行排查。 ### 回答2: 在进行Java开发过程打包jar包并在其他环境运行是常见的操作。然而,在使用Idea进行打包时,有时会出现如下错误提示:“错误: 不到或无法加载主”。本文将从可能的原因和解决方法两个方面进行介绍。 1.可能的原因 (1)主不存在或名称不正确。 打包jar包需要在Manifest文件指定Main-Class。如果在配置填写的Main-Class名称不正确,或者该根本不存在,就会出现不到的错误。 (2)Main-Class存在语法错误或依赖问题。 打包jar包的Main-Class需要正常运行,它依赖于Idea项目引用的库,如果这些库不存在,或者存在版本不兼容等问题,则也会导致不到。 (3)打包jar包时的配置不正确。 在打包jar包的过程,可能需要指定更多的配置参数,如指定主、依赖库等。如果这些参数没有正确配置,也会出现不到的问题。 2.解决方法 (1)检查Main-Class是否正确。 在配置打包jar包的参数时,应该确认Main-Class名称正确、可用,并且这个应该能够正常调用,确保打包jar包可以被正确的运行。 (2)确保依赖库可用并无冲突。 在打包jar包的过程,应该确认所有依赖库都已正确引用,依赖库版本之间没有冲突,可以正常使用。 (3)检查配置参数是否正确。 可以通过检查打包jar包时输入的配置是否正确,如指定Main-Class等,确保jar包可以正确运行。 最后,可以通过反复检查以及多次重新尝试的方法解决这个问题,如果仍然无法解决,就可以考虑请教他人或查阅相关文档,到方法解决问题,确保打包jar包后能够正常使用。 ### 回答3: Java程序在执行时需要通过指定的主或者通过Manifest文件的Main-Class来指定入口函数,如果在打包Jar文件时没有正确指定主,或者是在执行时没有正确指定入口函数,就会出现不到或无法加载主的错误。 出现这种错误的原因通常有以下几点: 1. 打包Jar文件时没有正确指定主 在使用Eclipse或者其它IDE进行打包时,需要在打包配置指定主,否则打包出来的Jar文件就没有Manifest文件或者没有正确指定Main-Class。 2. 执行时没有正确指定入口函数 如果打包Jar文件存在多个Main函数,需要使用命令行参数或通过配置IDE来指定使用哪个函数作为入口函数。如果没有正确指定,程序就会不到入口函数,报错无法加载主。 3. Jar文件包含的文件没有正确的路径 在打包Jar文件时,需要将项目的所有依赖文件一起打包进去。如果其某个文件没有正确的路径信息,或者依赖的Jar包没有正确打包进去,就会不到或无法加载主。 针对这些因素,我们需要检查打包的方式和打包的工具。如果IDE在打包时已经自动配置好了Main-Class,那么我们应该仔细检查Jar包的文件,确保所有依赖文件都已经正确打包进去了。如果遇到依赖文件没有正确打包或者路径不对的情况,可以在打包时手动指定需要打包的文件及其路径。 同时,在执行时要注意正确指定入口函数,确保程序能够到正确的入口函数来执行。如果还有问题,建议在代码增加日志输出,同时查看系统的日志文件,以帮助我们定位问题。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值