问题探索的过程(浪费了a lot of time,时间就是金钱啊,心疼~~~,希望看到这篇文章的小伙伴少走弯路 ) 1.A项目在依赖了B之后,maven compile时报错; 2.检查所有的依赖,还有项目配置...,没问题,清缓存,报错依旧 3.而且有一个很奇怪的现象 如果是我依赖其他的子项目正常的是下图中1的显示,但是此时依赖的B确实2中依赖jar包的形式(只是举例,下图是我问题解决后的正常的依赖显示): 而且在我本地的...maven仓库中一直是有B项目的jar包的。...5.然后有大神建议:别用maven打包,用idea打包,丢到仓库,看看可以不;试过,依旧不行 6.最后,终极的解决方法来了:从Idea中把项目删掉,手动删掉项目的.idea和.iml文件,当然也可以用命令删掉...7.项目重新编译,成功!
摘要 在使用 IntelliJ IDEA 开发 Java 项目时,“找不到符号” (Cannot find symbol) 是一种常见的编译错误。...引言 “找不到符号” 是 Java 编译器的一种错误提示,通常发生在代码中引用了不存在或无法识别的类、方法、变量等符号时。...解决 IDEA 编译报错:Error:(2048,1024) java: 找不到符号 常见问题表现: Error:(2048,1024) java: 找不到符号 符号: 方法 doSomething...2.5 检查 Maven 依赖 如果使用 Maven,检查 pom.xml 中是否缺少依赖: org.apache.commons...总结 在解决 IDEA 中 “找不到符号” 的报错时,牢记以下要点: 检查导包是否正确。 确保拼写无误。 定期重建项目并清理缓存。 检查 Maven 或 Gradle 依赖。
二、为什么使用Maven 即Maven的作用 添加第三方包 管理包之间的依赖关系 将项目拆分成多个工程模块 构建项目(打包,编译等) 三、项目构建的环节 清理(clean):删除以前的编译结果,为重新编译做好准备...四、Maven的常用命令 mvn -v —— 显示版本号 mvn clean —— 清空生成的文件 mvn compile —— 编译 mvn test —— 编译并测试 mvn package ——...生成target目录,编译、测试代码,生成测试报告,生成jar/war文件 mvn site —— 生成项目相关信息的网站 mvn clean compile —— 表示先运行清理之后运行编译,会将代码编译到...deploy —— 运行清理和发布 五、什么是本地仓库/远程仓库/中央仓库 本地仓库存放着你的项目曾经引用过的jar包,在新建项目的时候,会在pom.xml里查找依赖,如果找不到会去远程仓库下载,远程仓库找不到就去中央仓库下载...它包含有关配置详细信息,项目中包括的依赖项和插件的所有必要信息。 简单来说,它包含项目的构建生命周期的详细信息。
文章目录 IntelliJ IDEA 报错:找不到包或者找不到符号 1.利用Maven-Reimport 2.Invalidate and Restart 3.编码统一 4.重新编译 5.利用Maven-Install...IntelliJ IDEA 报错:找不到包或者找不到符号 最近在使用IDEA的时候,突然出现过找不到包或者找不到符号的情况,在确定了自己引用存在的情况下,可以尝试以下几种方式来解决,以下是在开发过程中碰过问题同样解决过的几种办法...1.利用Maven-Reimport 2.Invalidate and Restart 3.编码统一 4.重新编译 点开Project Structure 找到项目编译输出目录 ...部分由于依赖服务或者自身并没有加载至本地仓库而导致这个问题的,可以通过Maven-Install的方法尝试解决。 ...关于mvn install大家可以通过IDEA自带的可视化插件界面或者命令行模式执行都可以。关于这个不熟悉的话可以自行百度一下。
其中有几个较为重要的元素: localRepository 本地仓库的地址,在maven工程中依赖的构件,首先到本地仓库进行查找,查找不到才会到远程仓库查找。...在maven的世界中,对所有依赖的引用都是通过坐标完成的,即使用GAV(GroupId,ArtifactId,Version)进行定位。...,执行mvn install命令时,install阶段运行的是mvn org.apache.maven.plugins:maven-install-plugin:2.4:install,该命令格式为mvn...maven依赖声明中主要有以下六种依赖范围: compile: 默认依赖范围,作用于工程的编译、测试和运行期,并且会传递到依赖该模块的工程中 provided: 作用于工程的编译和测试阶段,在运行期不起作用...,用于表示运行期对该构件的依赖已经由容器提供,该依赖范围不具有传递性 runtime: 作用于测试和运行阶段,在编译期不起作用,具有传递性 test: 作用于测试和运行阶段,在编译期不起作用,且不具有传递性
模块的一个接口,错误信息: 找不到符号: com.alibaba.nacos.consistency.entity.ReadRequest 也就是代码同步的这三个引用: 2.2 问题原因 查看 pom.xml...,那么为什么还会有包找不到的问题?...搜索之后,在 nacos 源码:https://gitee.com/mirrors/Nacos/的评论中找到答案: 2.3 解决方法 根据上面的提示,找到 Nacos 文档的FAQ,解决方案如下: 找不到符号...`com.alibaba.nacos.consistency.entity` 这个包目录是由protobuf在编译时自动生成,您可以通过mvn compile来自动生成他们。...2.4 compile 过程简述 从下面的构建日志,可以看到 protobuf 依赖下载后的编译过程: [INFO] Compiling 2 proto file(s) to /Users/flamingskys
Maven解决了构建软件那几方面问题: 编译构建 传统的项目没有使用Maven大部分情况是由IDE对编写代码进行自动编译,将JAVA文件编译成CLASS之后,由研发对bin目录下的CLASS进行打包部署...定义项目间继承关系 dependency 项目依赖。添加依赖通过GAVC build 构建。...项目的目录结构和构建插件管理等 Maven依赖搜索顺序 当我们执行 Maven 构建命令时,Maven 开始按照以下顺序查找依赖的库: 步骤 1 - 在本地仓库中搜索,如果找不到,执行步骤 2,如果找到了则执行其他操作...步骤 2 - 在中央仓库中搜索,如果找不到,并且有一个或多个远程仓库已经设置,则执行步骤 4,如果找到了则下载到本地仓库中以备将来引用。...#清理命令 清理项目生产的临时文件,一般是模块下的target目录 mvn compile #编译命令 编译源代码 mvn test #测试命令 或执行src/test/java/下junit的测试用例
模块的一个接口,错误信息: 找不到符号:com.alibaba.nacos.consistency.entity.ReadRequest 也就是代码同步的这三个引用: ?...,那么为什么还会有包找不到的问题?...2.3 解决方法 根据上面的提示,找到 Nacos 文档的FAQ,解决方案如下: 找不到符号`com.alibaba.nacos.consistency.entity` 这个包目录是由protobuf在编译时自动生成...,您可以通过mvn compile来自动生成他们。...2.4 compile 过程简述 从下面的构建日志,可以看到 protobuf 依赖下载后的编译过程: [INFO] Compiling 2 proto file(s) to /Users/flamingskys
引言 对于 Java 开发者来说,mvn 是 Maven 工具的核心接口之一。它通过命令行直接执行 Maven 的核心功能,例如编译代码、运行测试、打包项目以及部署到远程仓库。...基础命令 以下是 mvn 的一些常用基础命令: 1.1 mvn clean 清理项目的 target 目录,通常在重新编译或打包之前使用。...mvn compile 功能:将 src/main/java 中的源代码编译为字节码,输出到 target/classes。...高级命令 2.1 mvn dependency:tree 显示项目的依赖树,便于分析依赖关系。...常见问题与解决方法 问题 1:mvn 命令找不到 解决方法: 确认已安装 Maven。 将 Maven 的 bin目录添加到环境变量 PATH中。
、maven-docker-plugin 等等插件),然后问题就出现了,编译不通过,类似提示找不到类,找不到符号的错误消息。...mvn clean package 是没有问题哒!...如果在子模块中再次添加了该依赖如下,那么编译会报错。...在修改完以上配置后,再次编译依旧卡在一个子项目的某个文件上,提示找不到类,找不到符号,错误信息类似如下: ........再次执行编译,发现编译通过啦!!!看来还是版本依赖冲突的问题啊! 参考资料 Spring Boot Docs Maven Repo spring-boot-dependencies.pom
plugin> org.springframework.boot spring-boot-maven-plugin...install一下common-boot 我们尝试在main-boot进行mvn compile却发现编译报错 说是找不到符号 此时我们其实可以根据common-boot的jar拆包查看 发现其目录结构不太对劲...我们的包变成了BOOT-INF 这时候我们可以在common-boot的pom.xml配置一下spring-boot-maven-plugin 在configuration下设置skip为true... 或者干脆直接去掉这个plugin配置 再次mvn...install打包、解包,发现正常了 然后我们在main-boot再次进行编译,发现成功 注意如果还是不成功,我们可以清除一下idea缓存,或者执行这里的命令进行刷新依赖、重新生成idea项目模块配置文件
Maven找jar包的过程是这样的,先在本地仓库找,找不到再去私服(如果配置了的话),再找不到去中央仓库(http://repo1.maven.org/maven2/,maven团队负责维护) 从中央仓库找到后...依赖传递 假设我们现在有一个多模块项目,依赖关系如图,我们在st-web模块中引入st-dal依赖时,st-common-lib这个依赖也会被我们引入,这个就是依赖传递,下表中列出了scope在依赖过程中发生的变化...也经常被人叫做依赖冲突 最短路径原则 假如说我们现在的项目依赖关系如图?那么maven会选用st-common-lib的那个版本呢?...如何看依赖的距离关系呢?...前文说过,执行如下命令打印出全局的依赖树,层级关系特别清楚 mvn dependency:tree > show.txt 声明优先原则 项目依赖如图,路径一样,会选用st-common-lib的哪个版本呢
背景 最近在基于Maven构建自动化发布流水线,发现当项目多、项目之间依赖多时,了解Maven的命令使用,真是如虎添翼。特为大家整理了一套Maven常见命令及使用小技巧。...间接依赖A) 创建类命令 创建普通Maven项目 mvn archetype:create -DgroupId=packageName -DartifactId=projectName 创建之后,可以用...=jar -Dfile=路径/xxx-0.0.1.jar 构建打包类命令 编译源代码 mvn compile 编译测试代码 mvn test-compile 编译测试代码 mvn test 打包项目 mvn...只打包父工程 mvn clean install -N 只打包父工程P,子模块不会执行相关操作。有父子关系的项目构建上传到私服时,往往需要先构建上传父项目(pom项目)。...左上角的两个圆圈可以进行jar包依赖的刷新。 禁用单元测试 在执行打包构建时如果不需要执行单元测试,可选择闪电符号。
mvn compile,编译代码,编译之后代码会出现在/target目录中,整合了IDE会自动执行这个步骤。 mvn test,运行单元测试。...mvn test-compile, 编译测试用用欧,并执行。如果在IDE中通过IDE会自定对单元测试代码打包。 mvn package,对项目进行打包,打包之后会出现在/targer目录下。...maven打包基本上就涉及以上命令,除此之外还有一些配套的命令: mvn site,输出到/target一个依赖视图文档。 `` Xml文件元素定义 project:整个XML文档的最顶层标签。...这些问价那都是maven在package时生成的标准文件,MANIFEST.MF告知了程序的入口,另外两个文件标记了maven的依赖关系。...依赖范围 compile:这是默认的范围,引入的包会在mvn的整个生命周期内被用到。 provided:在编译和测试的时候都会引入该包,但是到了打包(install)之后的阶段将不会依赖这个包。
如果项目有jar包依赖冲突,只需通过Maven的 mvn -X compile dependency:tree -Dverbose 指令即可自动排查出冲突的jar包信息。...jar包的流程 maven jar先在本地找,查找本地 本地找不到去远程仓库找 有的公司有自己的私服,本地找不到先找自己的私服 私服找不到去远程仓库中找,远程找到后会把jar包丢到私服里面...mvn 基本命令 mvn clean // 清理 mvn compile // 编译 mvn test // 测试 mvn package // 打包 mvn install // 打包并上传到本地仓库...打包的时候通常需要包含进去 test:依赖项目仅仅参与测试相关的工作,包括测试代码的编译和执行,不会被打包,例如:junit runtime:表示被依赖项目无需参与项目的编译,不过后期的测试和运行周期需要其参与...依赖项目 子项目都会继承父项目的依赖关系,如果子项目不需要父项目的依赖关系,maven提供的dependencyManagement元素能让子模块继承到父模块的依赖配置,有能保证子模块的灵活性。
在qizhi项目改版的时候, 所有代码都迁移好了, 但是compile的时候报程序包*****不存在, 具体到某一个类就是: 找不到符号....=====================+===========================+===========================+ 项目 dw(父类工程,定义各模块,指定模块依赖...jar版本) |------------------------------ |--da-core 核心代码 | |--da-manage 后台管理,依赖da-core | |--da-api...API接口,依赖da-api | |--da-demo API接口DEMO 通过maven命令:mvn clean package -Dmaven.test.skip 进行打包编译报错,错误信息如下...: [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.7.0:compile (default-compile
所有jar之间的依赖关系,程序员自我了解,增加学习成本。 Maven会自动将依赖的jar包导入进来。...[传递依赖] - Maven解析依赖时会到本地仓库中进行查找依赖的包 - 对于我们自己开发的包,需要使用mvn install命令安装后可以进入仓库 依赖的范围 - 1 compile...Maven命令 5.1 注意:执行与构建过程相关的Maven命令,必须进入pom.xml所在的目录 与构建过程相关:编译、测试、打包...... 5.2 常用的命令 mvn clean:清理 mvn compile...:编译主程序 mvn test-compile:编译测试程序 mvn test:执行测试 mvn package:打包 mvn install:安装包至仓库 mvn site:生产站点 六、 关于Maven...3 本地仓库的默认位置:C:\Users\LJLRY.m2\repository 4 Maven核心程序如果在本地仓库中找不到需要的插件,那么会自动的到中央仓库进行下载 5 如果此时无法连接外网,则构建失败
maven 查找文件流程 3.3 Maven 的命令 常用命令 命令 含义 备注 mvn clean 清除 打包前,清空上一次的包 mvn compile 编译 将 java 代码编译成 class 文件...可以把它看作是 maven 项目的地图,它描述了 jar 包的坐标、版本以及依赖关系等。...,例如,编译时,maven 会将与编译相关的依赖引入 classpath 中,测试时,maven 会将测试相关的的依赖引入到 classpath 中,运行时,maven 会将与运行相关的依赖引入 classpath...中,而依赖范围就是用来控制依赖于这三种 classpath 的关系。...项目关系 pom.xml 文件配置好依赖关系后,必须首先 mvn install 后,依赖的 jar 包才能使用。
看到这里,估计你能明白了,mvn 本身不会做太多的事情,它不知道怎么样编译或者怎么样打包。它把构建的任务交给插件去做。插件定义了常用的构建逻辑,能够被重复利用。...所 谓传递依赖是指 maven 会检查被依赖的 jar 文件,把它的依赖关系纳入最终解决的依赖关系链中。...当 maven 查找需要的 jar 文件时,它会先在本地库中寻找,只有在找不到的情况下,才会去远程库中找。...运行下面的命令能把我们的 helloworld 项目安装到本地库: $mvn install 一旦一个项目被安装到了本地库后,你别的项目就可以通过 maven 坐标和这个项目建立依赖关系。...比如如果我现在有一个新项目需要用到 helloworld,那么在运行了上面的 mvn install 命令后,我就可以如下所示来建立依赖关系: Xml 代码
命令 mvn clean:清理 mvn compile:编译主程序 mvn test-compile:编译测试程序 mvn test:执行测试 mvn package:打包 mvn install:安装...maven坐标来获取jar包,获取到jar之后会下载到本地仓库 对于中央仓库也找不到依赖的jar包的时候,就会编译失败了 ② 如果依赖的是自己或者团队开发的maven工程,需要先使用install命令把被依赖的...我们在给HelloFriend项目使用 mvn compile命令进行编译的时候,会提示缺少依赖Hello的jar包。怎么办呢?...一旦本地仓库有了依赖的maven工程的jar包后,你再到HelloFriend项目中使用 mvn compile命令的时候,可以成功编译 ③ 依赖范围 ?...WebMavenDemo项目依赖JavaMavenService1 JavaMavenService1项目依赖JavaMavenService2 pom.xml文件配置好依赖关系后,必须首先mvn install
领取专属 10元无门槛券
手把手带您无忧上云