问题是: 个人应用的pom 并无任何报错,可是代码报错,并且编译不经过。html
以下,我本地项目,从 spring-cloud-alibaba-dependencies 0.2.1.RELEASE 升级到 0.2.2.RELEASE: java
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>Finchley.SR1</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-alibaba-dependencies</artifactId> <version>0.2.2.RELEASE</version> <type>pom</type> <scope>import</scope> </dependency>
就出现了类找不到的状况 cannot resolve symbol "xxx" ,好比这个:spring
import org.springframework.cloud.client.discovery.EnableDiscoveryClient; < --- cannot resolve symbol "xxx" apache
EnableDiscoveryClient 是spring-cloud-commons jar 的内容, 而spring-cloud-commons 是dubbo-registry-nacos,spring-cloud-starter-alibaba-nacos-config 和 spring-cloud-starter-alibaba-nacos-discovery的 依赖。app
spring cloud 相关的类/接口 彷佛都不能用了, 可是以前都是好好的啊! 查看maven 的dependencies 图发现, 某些 jar 彷佛缺乏没有被依赖尽可能。 不是某几个, 而是不少的。。。dom
彷佛某些 dependency 被切断了。。 因而手动添加了几个 dependency 并写上了版本号,要是不写版本号, 那么问题依旧。 难道须要一个个的处理问题?maven
以前都不须要手动加入的dependency, 如今一个个手动添加, 也太麻烦了吧!ide
观察发现dubbo-registry-nacos-0.0.2.pom 彷佛不对, 里面怎么全是NUL 这种黑色字符,经验告诉我,这个是文件格式不对或者编码格式问题, 也多是文件没有正确结尾,或者是被修改了/截断了.. 怎么办? 这个版本的dubbo-registry-nacos-0.0.2 就是这样的? 查看了同事的这个dubbo-registry-nacos-0.0.2.pom 文件,发现没有这个问题! 删除从新下载吧!(同一个目录下的其余文件 包括jar 也一并所有删除) 就行了 ! 从新下载后pom 是正常了,可是问题依旧。ui
经验告诉我,maven 出了问题了, clean 一下吧:this
E:\dev\erdp2\erdp_discuss>mvn clean package [INFO] Scanning for projects... [WARNING] [WARNING] Some problems were encountered while building the effective model for com.lkk:erdp_discuss_app:war:2.0.0-SNAPSHOT [WARNING] 'dependencies.dependency.(groupId:artifactId:type:classifier)' must be unique: com.fasterxml.jackson.core:jackson-core:jar -> duplicate declaration of version (?) @ line 141, column 21 [WARNING] 'dependencies.dependency.(groupId:artifactId:type:classifier)' must be unique: com.fasterxml.jackson.core:jackson-databind:jar -> duplicate declaration of version (?) @ line 145, column 21 [WARNING] 'dependencies.dependency.(groupId:artifactId:type:classifier)' must be unique: com.fasterxml.jackson.core:jackson-annotations:jar -> duplicate declaration of version (?) @ line 149, column 21 [WARNING] [WARNING] Some problems were encountered while building the effective model for com.lkk:erdp_discuss_controller:jar:2.0.0-SNAPSHOT [WARNING] 'dependencies.dependency.(groupId:artifactId:type:classifier)' must be unique: com.lkk:erdp_plan_domain:jar -> duplicate declaration of version (?) @ line 86, column 21 [WARNING] [WARNING] Some problems were encountered while building the effective model for com.lkk:erdp_discuss_service:jar:2.0.0-SNAPSHOT [WARNING] 'dependencies.dependency.(groupId:artifactId:type:classifier)' must be unique: com.lkk:erdp_system_domain:jar -> duplicate declaration of version (?) @ line 48, column 21 [WARNING] [WARNING] It is highly recommended to fix these problems because they threaten the stability of your build. [WARNING] [WARNING] For this reason, future Maven versions might no longer support building such malformed projects. [WARNING] [INFO] ------------------------------------------------------------------------ [INFO] Reactor Build Order: [INFO] [INFO] erdp_discuss [pom] [INFO] erdp_discuss_controller [jar] [INFO] erdp_discuss_service [jar] [INFO] ppm_discuss_app [war] [INFO] [INFO] -----------------------< com.lkk:erdp_discuss >----------------------- [INFO] Building erdp_discuss 2.0.0-SNAPSHOT [1/4] [INFO] --------------------------------[ pom ]--------------------------------- [INFO] [INFO] --- maven-clean-plugin:3.0.0:clean (default-clean) @ erdp_discuss --- [INFO] [INFO] -----------------< com.lkk:erdp_discuss_controller >------------------ [INFO] Building erdp_discuss_controller 2.0.0-SNAPSHOT [2/4] [INFO] --------------------------------[ jar ]--------------------------------- [WARNING] The POM for com.alibaba:dubbo:jar:2.8.4 is missing, no dependency information available [INFO] [INFO] --- maven-clean-plugin:3.0.0:clean (default-clean) @ erdp_discuss_controller --- [INFO] Deleting E:\dev\erdp2\erdp_discuss\erdp_discuss_controller\target [INFO] [INFO] --- maven-resources-plugin:3.0.1:resources (default-resources) @ erdp_discuss_controller --- [INFO] Using 'UTF-8' encoding to copy filtered resources. [INFO] Copying 1 resource [INFO] Copying 0 resource [INFO] [INFO] --- maven-compiler-plugin:3.5:compile (default-compile) @ erdp_discuss_controller --- [INFO] Changes detected - recompiling the module! [INFO] Compiling 2 source files to E:\dev\erdp2\erdp_discuss\erdp_discuss_controller\target\classes [INFO] [INFO] --- maven-resources-plugin:3.0.1:testResources (default-testResources) @ erdp_discuss_controller --- [INFO] Using 'UTF-8' encoding to copy filtered resources. [INFO] Copying 5 resources [INFO] [INFO] --- maven-compiler-plugin:3.5:testCompile (default-testCompile) @ erdp_discuss_controller --- [INFO] Changes detected - recompiling the module! [INFO] Compiling 2 source files to E:\dev\erdp2\erdp_discuss\erdp_discuss_controller\target\test-classes [INFO] /E:/dev/erdp2/erdp_discuss/erdp_discuss_controller/src/test/java/com/lkk/ppm/discuss/SysConsumerApplication.java: E:\dev\erdp2\erdp_discuss\erdp_discuss_controller\src\test\java\com\lkk\ppm\discuss\SysConsumerApplication.java使用或覆盖了已过 时的 API。 [INFO] /E:/dev/erdp2/erdp_discuss/erdp_discuss_controller/src/test/java/com/lkk/ppm/discuss/SysConsumerApplication.java: 有关详细信息, 请使用 -Xlint:deprecation 从新编译。 [INFO] [INFO] --- maven-surefire-plugin:2.19.1:test (default-test) @ erdp_discuss_controller --- [INFO] Tests are skipped. [INFO] [INFO] --- maven-jar-plugin:3.0.2:jar (default-jar) @ erdp_discuss_controller --- [INFO] Building jar: E:\dev\erdp2\erdp_discuss\erdp_discuss_controller\target\erdp_discuss_controller-2.0.0-SNAPSHOT.jar [INFO] [INFO] -------------------< com.lkk:erdp_discuss_service >------------------- [INFO] Building erdp_discuss_service 2.0.0-SNAPSHOT [3/4] [INFO] --------------------------------[ jar ]--------------------------------- [INFO] [INFO] --- maven-clean-plugin:3.0.0:clean (default-clean) @ erdp_discuss_service --- [INFO] Deleting E:\dev\erdp2\erdp_discuss\erdp_discuss_service\target [INFO] [INFO] --- maven-resources-plugin:3.0.1:resources (default-resources) @ erdp_discuss_service --- [INFO] Using 'UTF-8' encoding to copy filtered resources. [INFO] skip non existing resourceDirectory E:\dev\erdp2\erdp_discuss\erdp_discuss_service\src\main\resources [INFO] skip non existing resourceDirectory E:\dev\erdp2\erdp_discuss\erdp_discuss_service\src\main\resources [INFO] [INFO] --- maven-compiler-plugin:3.5:compile (default-compile) @ erdp_discuss_service --- [INFO] Changes detected - recompiling the module! [INFO] Compiling 2 source files to E:\dev\erdp2\erdp_discuss\erdp_discuss_service\target\classes [INFO] [INFO] --- maven-resources-plugin:3.0.1:testResources (default-testResources) @ erdp_discuss_service --- [INFO] Using 'UTF-8' encoding to copy filtered resources. [INFO] Copying 2 resources [INFO] [INFO] --- maven-compiler-plugin:3.5:testCompile (default-testCompile) @ erdp_discuss_service --- [INFO] Changes detected - recompiling the module! [INFO] Compiling 2 source files to E:\dev\erdp2\erdp_discuss\erdp_discuss_service\target\test-classes [INFO] [INFO] --- maven-surefire-plugin:2.19.1:test (default-test) @ erdp_discuss_service --- [INFO] Tests are skipped. [INFO] [INFO] --- maven-jar-plugin:3.0.2:jar (default-jar) @ erdp_discuss_service --- [INFO] Building jar: E:\dev\erdp2\erdp_discuss\erdp_discuss_service\target\erdp_discuss_service-2.0.0-SNAPSHOT.jar [INFO] [INFO] ---------------------< com.lkk:erdp_discuss_app >--------------------- [INFO] Building ppm_discuss_app 2.0.0-SNAPSHOT [4/4] [INFO] --------------------------------[ war ]--------------------------------- [WARNING] The POM for org.springframework.cloud:spring-cloud-starter-alibaba-nacos-discovery:jar:0.2.2.RELEASE is invalid, transitive dependencies (if any) will not be available, enable debug logging for more details [WARNING] The POM for org.jboss.netty:netty:jar:3.2.5.Final is invalid, transitive dependencies (if any) will not be available, enable debug logging for more details [WARNING] The POM for org.springframework.cloud:spring-cloud-starter-alibaba-nacos-config:jar:0.2.2.RELEASE is invalid, transitive dependencies (if any) will not be available, enable debug logging for more details [INFO] [INFO] --- maven-clean-plugin:3.0.0:clean (default-clean) @ erdp_discuss_app --- [INFO] Deleting E:\dev\erdp2\erdp_discuss\erdp_discuss_app\target [INFO] [INFO] --- maven-resources-plugin:3.0.1:resources (default-resources) @ erdp_discuss_app --- [INFO] Using 'UTF-8' encoding to copy filtered resources. [INFO] Copying 2 resources [INFO] Copying 1 resource [INFO] [INFO] --- maven-compiler-plugin:3.5:compile (default-compile) @ erdp_discuss_app --- [INFO] Changes detected - recompiling the module! [INFO] Compiling 7 source files to E:\dev\erdp2\erdp_discuss\erdp_discuss_app\target\classes [INFO] ------------------------------------------------------------- [ERROR] COMPILATION ERROR : [INFO] ------------------------------------------------------------- [ERROR] /E:/dev/erdp2/erdp_discuss/erdp_discuss_app/src/main/java/com/lkk/ppm/discuss/DiscussApplication.java:[10,50] 程序包org.springframework.cloud.client.discovery不存在 [ERROR] /E:/dev/erdp2/erdp_discuss/erdp_discuss_app/src/main/java/com/lkk/ppm/discuss/DiscussApplication.java:[28,2] 找不到符号 符号: 类 EnableDiscoveryClient [INFO] 2 errors [INFO] ------------------------------------------------------------- [INFO] ------------------------------------------------------------------------ [INFO] Reactor Summary for erdp_discuss 2.0.0-SNAPSHOT: [INFO] [INFO] erdp_discuss ....................................... SUCCESS [ 0.313 s] [INFO] erdp_discuss_controller ............................ SUCCESS [ 6.453 s] [INFO] erdp_discuss_service ............................... SUCCESS [ 2.553 s] [INFO] ppm_discuss_app .................................... FAILURE [ 1.628 s] [INFO] ------------------------------------------------------------------------ [INFO] BUILD FAILURE [INFO] ------------------------------------------------------------------------ [INFO] Total time: 11.844 s [INFO] Finished at: 2019-05-05T15:36:09+08:00 [INFO] ------------------------------------------------------------------------ [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.5:compile (default-compile) on project erdp_discuss_app: Compilation failure: Compilation failure: [ERROR] /E:/dev/erdp2/erdp_discuss/erdp_discuss_app/src/main/java/com/lkk/ppm/discuss/DiscussApplication.java:[10,50] 程序包org.springframework.cloud.client.discovery不存在 [ERROR] /E:/dev/erdp2/erdp_discuss/erdp_discuss_app/src/main/java/com/lkk/ppm/discuss/DiscussApplication.java:[28,2] 找不到符号 [ERROR] 符号: 类 EnableDiscoveryClient [ERROR] -> [Help 1] [ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. [ERROR] Re-run Maven using the -X switch to enable full debug logging. [ERROR] [ERROR] For more information about the errors and possible solutions, please read the following articles: [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException [ERROR] [ERROR] After correcting the problems, you can resume the build with the command [ERROR] mvn <goals> -rf :erdp_discuss_app
问题并不能这么简单的解决。可是上面的信息并不能告诉我具体什么缘由。 经验告诉我,经过-X 参数:
[DEBUG] ======================================================================= [WARNING] The POM for org.springframework.cloud:spring-cloud-starter-alibaba-nacos-discovery:jar:0.2.2.RELEASE is invalid, transitive dependencies (if any) will not be available: 5 problems were encountered while building the effective model for org.spr ingframework.cloud:spring-cloud-starter-alibaba-nacos-discovery:0.2.2.RELEASE [FATAL] Non-parseable POM C:\Users\Administrator\.m2\repository\org\springframework\cloud\spring-cloud-build-dependencies\2.0.5.RELEASE\spring-cloud-build-dependencies-2.0.5.RELEASE.pom: only whitespace content allowed before start tag and not \u0 (posi tion: START_DOCUMENT seen \u0... @1:1) @ C:\Users\Administrator\.m2\repository\org\springframework\cloud\spring-cloud-build-dependencies\2.0.5.RELEASE\spring-cloud-build-dependencies-2.0.5.RELEASE.pom, line 1, column 1 [FATAL] Non-parseable POM C:\Users\Administrator\.m2\repository\org\springframework\cloud\spring-cloud-openfeign-dependencies\2.0.3.RELEASE\spring-cloud-openfeign-dependencies-2.0.3.RELEASE.pom: only whitespace content allowed before start tag and not \ u0 (position: START_DOCUMENT seen \u0... @1:1) @ C:\Users\Administrator\.m2\repository\org\springframework\cloud\spring-cloud-openfeign-dependencies\2.0.3.RELEASE\spring-cloud-openfeign-dependencies-2.0.3.RELEASE.pom, line 1, column 1 [FATAL] Non-parseable POM C:\Users\Administrator\.m2\repository\org\springframework\cloud\spring-cloud-bus-dependencies\2.0.1.RELEASE\spring-cloud-bus-dependencies-2.0.1.RELEASE.pom: only whitespace content allowed before start tag and not \u0 (position : START_DOCUMENT seen \u0... @1:1) @ C:\Users\Administrator\.m2\repository\org\springframework\cloud\spring-cloud-bus-dependencies\2.0.1.RELEASE\spring-cloud-bus-dependencies-2.0.1.RELEASE.pom, line 1, column 1 [FATAL] Non-parseable POM C:\Users\Administrator\.m2\repository\org\springframework\cloud\spring-cloud-gateway-dependencies\2.0.3.RELEASE\spring-cloud-gateway-dependencies-2.0.3.RELEASE.pom: only whitespace content allowed before start tag and not \u0 ( position: START_DOCUMENT seen \u0... @1:1) @ C:\Users\Administrator\.m2\repository\org\springframework\cloud\spring-cloud-gateway-dependencies\2.0.3.RELEASE\spring-cloud-gateway-dependencies-2.0.3.RELEASE.pom, line 1, column 1 [FATAL] Non-parseable POM C:\Users\Administrator\.m2\repository\org\springframework\cloud\spring-cloud-build-dependencies\2.0.5.RELEASE\spring-cloud-build-dependencies-2.0.5.RELEASE.pom: only whitespace content allowed before start tag and not \u0 (posi tion: START_DOCUMENT seen \u0... @1:1) @ C:\Users\Administrator\.m2\repository\org\springframework\cloud\spring-cloud-build-dependencies\2.0.5.RELEASE\spring-cloud-build-dependencies-2.0.5.RELEASE.pom, line 1, column 1 [DEBUG] Using mirror lkk-public (http://192.168.11.200:8081/repository/lkk-public/) for maven2-repository.dev.java.net (http://download.java.net/maven/2/). [WARNING] The POM for org.jboss.netty:netty:jar:3.2.5.Final is invalid, transitive dependencies (if any) will not be available: 1 problem was encountered while building the effective model [FATAL] Non-parseable POM C:\Users\Administrator\.m2\repository\org\jboss\netty\netty\3.2.5.Final\netty-3.2.5.Final.pom: only whitespace content allowed before start tag and not \u0 (position: START_DOCUMENT seen \u0... @1:1) @ line 1, column 1 [WARNING] The POM for org.springframework.cloud:spring-cloud-starter-alibaba-nacos-config:jar:0.2.2.RELEASE is invalid, transitive dependencies (if any) will not be available: 5 problems were encountered while building the effective model for org.spring framework.cloud:spring-cloud-starter-alibaba-nacos-config:0.2.2.RELEASE [FATAL] Non-parseable POM C:\Users\Administrator\.m2\repository\org\springframework\cloud\spring-cloud-build-dependencies\2.0.5.RELEASE\spring-cloud-build-dependencies-2.0.5.RELEASE.pom: only whitespace content allowed before start tag and not \u0 (posi tion: START_DOCUMENT seen \u0... @1:1) @ C:\Users\Administrator\.m2\repository\org\springframework\cloud\spring-cloud-build-dependencies\2.0.5.RELEASE\spring-cloud-build-dependencies-2.0.5.RELEASE.pom, line 1, column 1 [FATAL] Non-parseable POM C:\Users\Administrator\.m2\repository\org\springframework\cloud\spring-cloud-openfeign-dependencies\2.0.3.RELEASE\spring-cloud-openfeign-dependencies-2.0.3.RELEASE.pom: only whitespace content allowed before start tag and not \ u0 (position: START_DOCUMENT seen \u0... @1:1) @ C:\Users\Administrator\.m2\repository\org\springframework\cloud\spring-cloud-openfeign-dependencies\2.0.3.RELEASE\spring-cloud-openfeign-dependencies-2.0.3.RELEASE.pom, line 1, column 1 [FATAL] Non-parseable POM C:\Users\Administrator\.m2\repository\org\springframework\cloud\spring-cloud-bus-dependencies\2.0.1.RELEASE\spring-cloud-bus-dependencies-2.0.1.RELEASE.pom: only whitespace content allowed before start tag and not \u0 (position : START_DOCUMENT seen \u0... @1:1) @ C:\Users\Administrator\.m2\repository\org\springframework\cloud\spring-cloud-bus-dependencies\2.0.1.RELEASE\spring-cloud-bus-dependencies-2.0.1.RELEASE.pom, line 1, column 1 [FATAL] Non-parseable POM C:\Users\Administrator\.m2\repository\org\springframework\cloud\spring-cloud-gateway-dependencies\2.0.3.RELEASE\spring-cloud-gateway-dependencies-2.0.3.RELEASE.pom: only whitespace content allowed before start tag and not \u0 ( position: START_DOCUMENT seen \u0... @1:1) @ C:\Users\Administrator\.m2\repository\org\springframework\cloud\spring-cloud-gateway-dependencies\2.0.3.RELEASE\spring-cloud-gateway-dependencies-2.0.3.RELEASE.pom, line 1, column 1 [FATAL] Non-parseable POM C:\Users\Administrator\.m2\repository\org\springframework\cloud\spring-cloud-build-dependencies\2.0.5.RELEASE\spring-cloud-build-dependencies-2.0.5.RELEASE.pom: only whitespace content allowed before start tag and not \u0 (posi tion: START_DOCUMENT seen \u0... @1:1) @ C:\Users\Administrator\.m2\repository\org\springframework\cloud\spring-cloud-build-dependencies\2.0.5.RELEASE\spring-cloud-build-dependencies-2.0.5.RELEASE.pom, line 1, column 1
果真: The POM for org.springframework.cloud:spring-cloud-starter-alibaba-nacos-discovery:jar:0.2.2.RELEASE is invalid
肯定无疑, pom 问题, 观察发现 spring-cloud-starter-alibaba-nacos-config-0.2.2.RELEASE ,以及 spring-cloud-starter-alibaba-nacos-discovery-0.2.2.RELEASE 也有一样的问题。删除从新下载,但仍是有问题。
另外观察到 spring-cloud-build-dependencies-2.0.5.RELEASE.pom 也有问题:
难道maven 私服出现了问题? 登陆上去一看, 发现maven 私服的 spring-cloud-build-dependencies-2.0.5.RELEASE.pom 等 都是正常的!
难道要一个个的检查repository目录中的 pom 是否有问题? 这太多了,干脆所有删除出现下载。不得已, 把 程序所有关闭,idea退出,整个repository目录(C:\Users\Administrator\.m2\repository )删除,重启idea ,刷新maven, 问题解决!
忽而想到了, 我上午的时候, 电脑电源线松动了, 电脑异常关机了一次, 而后, 电脑还自动升级了好久。 可能正是这个缘由致使了 某些的 pom 文件损坏了吧!!!
真是奇了怪了, 这个问题是怎么引发的呢? 是什么缘由呢? 网上并无找到这种问题现象,bing 上面搜索 maven pom damaged 或 maven pom corrupted 都无果。
彷佛你们都没有遇到, 就我一我的遇到? 真是活久见!!!
参考:
https://blog.csdn.net/cuiy6642/article/details/49789763
http://www.cnblogs.com/enjoyjava/p/9743460.html
https://grokbase.com/t/ant/user/09771k6h5v/maven2-pom-is-corrupt