解决maven项目打包时报错:Error injecting constructor

遇到Maven项目打包时的构造函数注入错误,导致无法访问Properties的默认字段。问题根源并非代码本身,而是Maven插件版本不兼容。通过在pom.xml中更新maven-war-plugin至最新版本3.2.2,成功解决了JDK 16环境下打包失败的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

maven项目打包时报错: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

在定位 org.apache.maven.plugin.war.WarMojo 时无法访问 org.apache.maven.plugin.war.WarMojo.<init>(Unknown Source) 处的属性的默认字段

在网上找了很多方法,最后得出结论:与代码无关,在pom.xml中指定package插件的版本即可:

<build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <version>3.2.2</version>
            </plugin>

        </plugins>
    </build>

我的jdk版本为16,改为目前最新的package插件版本3.2.2即可成功打包

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值