问题描述:
学习tomcat部署servlet
tomcat版本9,servlet版本3.1,jdk版本17
打包成war包时,有一个war插件死活死活下不下来,总说注入失败啊,找不到factory啊啥的。
完整的报错已经找不到了,只剩下浏览器里的只言片语了。。。
Error injecting constructor, java.lang.ExceptionInInitializerError: Cannot access defaults field of Properties
at org.apache.maven.plugin.war.WarMojo. <init>(Unknown Source)
while locating org.apache.maven.plugin.war.WarMojo
Failed to execute goal org.apache.maven.plugins:maven-war-plugin:2.2:war
com.google.inject.ProvisionException: Unable to provision, see the following
org.codehaus.plexus.component.repository.exception.ComponentLookupException:
(最后使劲翻日志,发现一句说war插件api接口冲突,引起了我的警觉)
问题解决:
眼尖的你应该已经猜到问题的答案了……
你发任你发,我用java8
将本文某红色数字改为8即可……
这卡了我一上午。。唉。。
补充:
其实我一开始没怀疑版本冲突,主要是因为tomcat官网说了,servlet3.1可以配jdk7 or later啊?17不算later么。。。怎么回事呢……