情景引入
手写了一个插件,以前好好地,后来加了些功能,就无法启动了
报错信息
[ERROR] Failed to execute goal com.github.houbb:idoc-core:0.0.3-SNAPSHOT:idoc (default-cli) on project idoc-test: Execution default-cli of goal com.github.houbb:idoc-core:0.0.3-SNAPSHOT:idoc failed: An API incompatibility was encountered while executing com.github.houbb:idoc-core:0.0.3-SNAPSHOT:idoc: java.lang.ExceptionInInitializerError: null
[ERROR] -----------------------------------------------------
[ERROR] realm = plugin>com.github.houbb:idoc-core:0.0.3-SNAPSHOT
.....
.....
.....
[ERROR] Number of foreign imports: 1
[ERROR] import: Entry[import from realm ClassRealm[maven.api, parent: null]]
[ERROR]
[ERROR] -----------------------------------------------------
[ERROR] : NullPointerException
[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/PluginContainerException
分析过程
版本
一开始以为是版本问题
网上也查询了相关的资料,说是 maven-plugin 的依赖冲突。
排查了一遍,发现不是。
内部异常
后来想起,命令执行是可以 debug 的。
因为用的 idea,直接点击的,忘记了。
- 执行
mvn com.github.houbb:idoc-core:0.0.3-SNAPSHOT:idoc -e
可以查看到对应得异常信息。
后来发现是内部的异常导致的。
解决排查即可。