maven打包:找不到符号 符号: 方法 getXxx()

前言

先交代一下我这边的情况,如若跟你想要的结果不符,勿喷。

聚合项目 + 使用过 mvn install 指令

详细描述

聚合项目,主模块 A 需要打 war 包,其他模块 BCD 需要打为 jar 包作为其依赖。

先看一下报错截图:

这次的问题主要在于之前在打 war 包时,使用的 mvn install 指令,其依赖的 BCD 都被打进本地 Maven 仓库,而 BCD 改动后,由于没有加 clean执行, 再次执行并没有重新进行编译打包,致使新增的属性字段以及方法 not found

所以要弄清楚 mvn installmvn clean install 或者是 mvn package 的区别。

package命令:完成了项目编译、单元测试、打包功能,但没有把打好的可执行jar包(war包或其它形式的包)布署到本地 maven 仓库和远程 maven 私服仓库

install命令:完成了项目编译、单元测试、打包功能,同时把打好的可执行jar包(war包或其它形式的包)布署到本地 maven 仓库,但没有布署到远程 maven 私服仓库

deploy命令:完成了项目编译、单元测试、打包功能,同时把打好的可执行jar包(war包或其它形式的包)布署到本地 maven 仓库和远程 maven 私服仓库.

命令说明参考链接:https://blog.csdn.net/baidu_41632451/article/details/94742874

clean 的作用则是帮助你清除本地 jar、所以配合 install 就得到最新版本 jar 的效果了 > mvn clean install,同样的也可以使用 mvn clean package

但是需要注意的是,clean 是一件相对比较耗时的操作,如果没有修改其他模块,可放弃使用。

当然,如果你不想用 mvn clean 但是又想保持 jar 是最新版本,则可以使用 -Djar.forceCreation 参数,这个参数会强制更新 jar 包。

个人建议:为保险起见,建议使用 clean 指令。

解决方法

1、使用 mvn clean install 或者是 mvn clean package 重新进行打包操作。

2、使用 mvn install -Djar.forceCreation 或者 mvn pakcage -Djar.forceCreation

3、如果上边两种方法都试了,还是不行,直接找到自己的 maven 仓库地址,把 BCD 给删了,重新执行打包命令。

分享副业

分享一下最近在做的副业,赚点外快~

原文地址:https://www.cnblogs.com/niceyoo/p/12203846.html

时间: 2025-01-05 14:13:25

maven打包:找不到符号 符号: 方法 getXxx()的相关文章

【找不到符号】Maven打包找不到符号的问题排查

当碰到maven错误:找不到符号问题时,通常第一反应应该是执行eclipse的Project -> Clean … -> Clean all projects,然后再执行maven clean,将项目清理一下,然后再试试,如果还是不能解决接着往下看. 一.可能项目编码格式不统一.  可以在pom.xml文件中加上这样的配置 <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId&

使用maven打包添加带有主方法类的信息

一,准备工具 1,请确定在此之前你所有的Java配置以及maven都已经正确配置 二,说明 当我们初次使用maven时,我们在pom.xml所在的目录(也就是项目的根目录)执行 mvn clean package 进行打包项目时,我们在项目输出目录(target)会看到我们指定类型的包,一般来说 maven 默认是 Jar 包,这个时候你 cmd 到该目录,执行 java -jar your-jar-pakage-name.jar,会出现找不到主方法入口的错误: 此时maven告诉我们找不到主方

xml &amp;amp; 符号表示方法,xml转义字符

HTML,xml 中<, >,&等有特别含义,(前两个字符用于链接签,&用于转义),不能直接使用.使用这三个字符时,应使用他们的转义序列,如下所示: & 或 & & 和 < 或 < < 小于号 > 或 > > 大于号 " " 双引号         空格 © © 版权符 &reg ® 注册符 xml & 符号表示方法,xml转义字符

maven 打包 java中的配置文件

转发地址 http://www.cnblogs.com/liuzy2014/p/5981824.html 一般情况下,我们用到的资源文件(各种xml,properites,xsd文件等)都放在src/main/resources下面,利用maven打包时,maven能把这些资源文件打包到相应的jar或者war里. 有时候,比如mybatis的mapper.xml文件,我们习惯把它和Mapper.java放一起,都在src/main/java下面,这样利用maven打包时,就需要修改pom.xml

利用Maven打包时,如何包含更多的资源文件

首先,来看下MAVENx项目标准的目录结构: 一般情况下,我们用到的资源文件(各种xml,properites,xsd文件等)都放在src/main/resources下面,利用maven打包时,maven能把这些资源文件打包到相应的jar或者war里. 有时候,比如mybatis的mapper.xml文件,我们习惯把它和Mapper.java放一起,都在src/main/java下面,这样利用maven打包时,就需要修改pom.xml文件,来把mapper.xml文件一起打包进jar或者war

hive udaf 用maven打包运行create temporary function 时报错

用maven打包写好的jar,在放到hive中作暂时函数时报错. 错误信息例如以下: hive> create temporary function maxvalue as "com.leaf.data.Maximum"; java.lang.SecurityException: Invalid signature file digest for Manifest main attributes at sun.security.util.SignatureFileVerifier

Vcenter数据采集之maven打包可执行jar血历史

技术点:spring加载xsd过程: http://blog.csdn.net/bluishglc/article/details/7596118 案发背景: 1.一个使用maven管理的普通项目(vcenter-collector :关于Vcenter数据采集) 2.项目主要技术: java + mybatis(基于接口形式)+其他 3.项目中有一个非maven仓库的jar包:vijava(做vcenter数据采集的),在项目中以system方式引用 (该jar放在${project.base

idea中用maven打包spring的java项目(非web)

之前一直用安装的maven打包spring的javaweb项目,用的是mvn assembly:assembly打包,这次打包非web的spring项目,遇到许多问题,特记录一下正确步骤. 1.配置pom.xml 这里不用assembly,因为assembly在打包时只会把第一次遇到的文件打入jar包,后面遇到的都会skip掉.也就是说assembly把我的Spring描述文件都忽略掉咯.报错就是:找不到 spring-context.xml (我的配置spring的xml),所以这里用 mav

maven打包资源文件(转)

原文链接:http://blog.csdn.net/u012849872/article/details/51035938 maven工程标准目录结构: src    -main       –bin 脚本库       –java java源代码文件       –resources 资源库,会自动复制到classes目录里       –filters 资源过滤文件       –assembly 组件的描述配置(如何打包)       –config 配置文件       –webapp

hive udaf 用maven打包执行create temporary function 时报错

用maven打包写好的jar,在放到hive中作临时函数时报错. 错误信息如下: hive> create temporary function maxvalue as "com.leaf.data.Maximum"; java.lang.SecurityException: Invalid signature file digest for Manifest main attributes at sun.security.util.SignatureFileVerifier.p