Maven配置错误导致IDEA项目jar包无法正常更新的错误

本文描述了在使用Intellij IDEA 2020.3版本的maven多module项目中,遇到的jar包版本冲突及maven配置错误问题。当更新依赖并reimport时,发现服务器lib目录下存在两个版本的jar包,且IDE报错。通过排查maven配置、项目pom文件及IDEA设置,发现问题是由于parent依赖配置错误所致。解决方案包括采用war包部署作为临时措施,以及修正或移除parent依赖来彻底解决问题。
摘要由CSDN通过智能技术生成

背景

IDE:Intellij IDEA 2020.3版本
项目类型:maven多module项目
服务器:本地tomcat服务器
部署类型:war exploded

问题和现象

在pom文件升级依赖版本,reimport改动,发现会同时存在两个版本的依赖,编译、部署项目,发现启动不成功,服务器/lib文件夹下存在两个版本jar包。
同时发现maven依赖有红线、pom文件<project>标签有下划红线,提示

Reporting configuration should be done in <reporting> section, not in maven-site-plugin <configuration> as reportPlugins parameter

大意是说reporting相关的配置应该在<reporting>配置块中,不应该作为reportPlugins在maven-site-plugin的 <configuration>
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答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包中的文件,确保所有依赖文件都已经正确打包进去了。如果遇到依赖文件没有正确打包或者路径不对的情况,可以在打包时手动指定需要打包的文件及其路径。 同时,在执行时要注意正确指定入口函数,确保程序能够找到正确的入口函数来执行。如果还有问题,建议在代码中增加日志输出,同时查看系统的日志文件,以帮助我们定位问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值