问题背景:

使用 jenkins 部署生产环境 maven 项目,报错如下:

[WARNING] Error injecting: org.apache.maven.plugin.war.WarMojo
 com.google.inject.ProvisionException: Unable to provision, see the following errors: 1) 

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 1 error at 

com.google.inject.internal.InternalProvisionException.toProvisionException 

(InternalProvisionException.java:226) at com.google.inject.internal.InjectorImpl$1.get 

(InjectorImpl.java:1053) at com.google.inject.internal.InjectorImpl.getInstance 

(InjectorImpl.java:1086) at org.eclipse.sisu.space.AbstractDeferredClass.get 

(AbstractDeferredClass.java:48) at 

com.google.inject.internal.ProviderInternalFactory.provision 

(ProviderInternalFactory.java:85) at 

com.google.inject.internal.InternalFactoryToInitializableAdapter.provision
 
(InternalFactoryToInitializableAdapter.java:57) at 

com.google.inject.internal.ProviderInternalFactory$1.call 

(ProviderInternalFactory.java:66) at 

com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision 

(ProvisionListenerStackCallback.java:112) at
 
com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision
 (ProvisionListenerStackCallback.java:127) at
 com.google.inject.internal.ProvisionListenerStackCallback.provision
 (ProvisionListenerStackCallback.java:66) at
 com.google.inject.internal.ProviderInternalFactory.circularGet
 (ProviderInternalFactory.java:61) at
 com.google.inject.internal.InternalFactoryToInitializableAdapter.get
 (InternalFactoryToInitializableAdapter.java:47) at
 com.google.inject.internal.InjectorImpl$1.get (InjectorImpl.java:1050) at
 org.eclipse.sisu.inject.Guice4$1.get (Guice4.java:162) at
 org.eclipse.sisu.inject.LazyBeanEntry.getValue (LazyBeanEntry.java:81) at
 org.eclipse.sisu.plexus.LazyP

解决方案:

在项目的 parent pom 文件中 build 标签添加 maven-war-plugin 插件

<build>
        <plugins>
            <plugin>
                <artifactId>maven-source-plugin</artifactId>
                <version>3.0.0</version>
                <configuration>
                    <attach>true</attach>
                </configuration>
                <executions>
                    <execution>
                        <phase>compile</phase>
                        <goals>
                            <goal>jar</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <version>3.3.2</version>
            </plugin>
            <plugin>
                <groupId>org.sonarsource.scanner.maven</groupId>
                <artifactId>sonar-maven-plugin</artifactId>
                <version>3.3.0.603</version>
            </plugin>
        </plugins>
    </build>

更多推荐