Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile (default-compile)
Asked Answered
G

33

180

I am using Maven 3.0.5 and Spring Tool Source 3.2 with Maven plugin installed. When I try to do 'Run As---> Maven install', I am getting the following error:

[INFO] Scanning for projects...
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building Spring Social Twitter4J Sample 1.0.0
[INFO] ------------------------------------------------------------------------
[WARNING] The POM for org.apache.maven.plugins:maven-compiler-plugin:jar:2.3.2 is invalid, transitive dependencies (if any) will not be available, enable debug logging for more details
[WARNING] The POM for org.apache.maven.plugins:maven-war-plugin:jar:2.1.1 is invalid, transitive dependencies (if any) will not be available, enable debug logging for more details
[WARNING] The POM for org.apache.maven.plugins:maven-install-plugin:jar:2.3.1 is invalid, transitive dependencies (if any) will not be available, enable debug logging for more details
[INFO] 
[INFO] --- maven-resources-plugin:2.5:resources (default-resources) @ spring-social-twitter4j ---
[debug] execute contextualize
[WARNING] Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] Copying 15 resources
[INFO] 
[INFO] --- maven-compiler-plugin:2.3.2:compile (default-compile) @ spring-social-twitter4j ---
[WARNING] The POM for org.apache.maven.plugins:maven-compiler-plugin:jar:2.3.2 is invalid, transitive dependencies (if any) will not be available, enable debug logging for more details
Jun 21, 2013 2:14:32 AM org.sonatype.guice.bean.reflect.Logs$JULSink warn
WARNING: Error injecting: org.apache.maven.plugin.CompilerMojo
**java.lang.NoClassDefFoundError: org/codehaus/plexus/compiler/CompilerException**
    at java.lang.Class.getDeclaredConstructors0(Native Method)
    at java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
    at java.lang.Class.getDeclaredConstructors(Unknown Source)
    at com.google.inject.spi.InjectionPoint.forConstructorOf(InjectionPoint.java:245)
    at com.google.inject.internal.ConstructorBindingImpl.create(ConstructorBindingImpl.java:98)
    at com.google.inject.internal.InjectorImpl.createUninitializedBinding(InjectorImpl.java:629)
    at com.google.inject.internal.InjectorImpl.createJustInTimeBinding(InjectorImpl.java:831)
    at com.google.inject.internal.InjectorImpl.createJustInTimeBindingRecursive(InjectorImpl.java:758)
    at com.google.inject.internal.InjectorImpl.getJustInTimeBinding(InjectorImpl.java:255)
    at com.google.inject.internal.InjectorImpl.getBindingOrThrow(InjectorImpl.java:204)
    at com.google.inject.internal.InjectorImpl.getProviderOrThrow(InjectorImpl.java:954)
    at com.google.inject.internal.InjectorImpl.getProvider(InjectorImpl.java:987)
    at com.google.inject.internal.InjectorImpl.getProvider(InjectorImpl.java:950)
    at com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1000)
    at org.sonatype.guice.bean.reflect.AbstractDeferredClass.get(AbstractDeferredClass.java:45)
    at com.google.inject.internal.ProviderInternalFactory.provision(ProviderInternalFactory.java:84)
    at com.google.inject.internal.InternalFactoryToInitializableAdapter.provision(InternalFactoryToInitializableAdapter.java:52)
    at com.google.inject.internal.ProviderInternalFactory$1.call(ProviderInternalFactory.java:70)
    at com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:100)
    at org.sonatype.guice.plexus.lifecycles.PlexusLifecycleManager.onProvision(PlexusLifecycleManager.java:138)
    at com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:108)
    at com.google.inject.internal.ProvisionListenerStackCallback.provision(ProvisionListenerStackCallback.java:55)
    at com.google.inject.internal.ProviderInternalFactory.circularGet(ProviderInternalFactory.java:68)
    at com.google.inject.internal.InternalFactoryToInitializableAdapter.get(InternalFactoryToInitializableAdapter.java:45)
    at com.google.inject.internal.InjectorImpl$3$1.call(InjectorImpl.java:965)
    at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1011)
    at com.google.inject.internal.InjectorImpl$3.get(InjectorImpl.java:961)
    at com.google.inject.Scopes$1$1.get(Scopes.java:59)
    at org.sonatype.guice.bean.locators.LazyBeanEntry.getValue(LazyBeanEntry.java:83)
    at org.sonatype.guice.plexus.locators.LazyPlexusBean.getValue(LazyPlexusBean.java:49)
    at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:253)
    at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:245)
    at org.apache.maven.plugin.internal.DefaultMavenPluginManager.getConfiguredMojo(DefaultMavenPluginManager.java:455)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:92)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320)
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
    at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)
    at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)
    at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)
Caused by: java.lang.ClassNotFoundException: org.codehaus.plexus.compiler.CompilerException
    at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:50)
    at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:244)
    at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:230)
    ... 54 more

[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.749s
[INFO] Finished at: Fri Jun 21 02:14:32 IST 2013
[INFO] Final Memory: 4M/15M
[INFO] ------------------------------------------------------------------------
**[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile (default-compile) on project spring-social-twitter4j: Execution default-compile of goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile failed: A required class was missing while executing org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile: org/codehaus/plexus/compiler/CompilerException**
[ERROR] -----------------------------------------------------
[ERROR] realm =    plugin>org.apache.maven.plugins:maven-compiler-plugin:2.3.2
[ERROR] strategy = org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy
[ERROR] urls[0] = file:/C:/Users/SS%20Computer/.m2/repository/org/apache/maven/plugins/maven-compiler-plugin/2.3.2/maven-compiler-plugin-2.3.2.jar
[ERROR] urls[1] = file:/C:/Users/SS%20Computer/.m2/repository/org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.jar
[ERROR] Number of foreign imports: 1
[ERROR] import: Entry[import  from realm ClassRealm[maven.api, parent: null]]
[ERROR] 
[ERROR] -----------------------------------------------------: org.codehaus.plexus.compiler.CompilerException
[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

Please find below my pom.xml:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>org.springframework.social.samples</groupId>
    <artifactId>spring-social-twitter4j</artifactId>
    <name>Spring Social Twitter4J Sample</name>
    <packaging>war</packaging>
    <version>1.0.0</version>
    <properties>
        <java-version>1.6</java-version>
        <org.springframework.social-version>1.1.0.BUILD-SNAPSHOT</org.springframework.social-version>
        <org.springframework-version>3.2.1.RELEASE</org.springframework-version>
        <org.springframework.security-version>3.1.3.RELEASE</org.springframework.security-version>
        <org.slf4j-version>1.7.2</org.slf4j-version>
    </properties>
    <dependencies>
        <!-- Spring -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>${org.springframework-version}</version>
            <exclusions>
                <!-- Exclude Commons Logging in favor of SLF4j -->
                <exclusion>
                    <groupId>commons-logging</groupId>
                    <artifactId>commons-logging</artifactId>
                 </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>${org.springframework-version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jdbc</artifactId>
            <version>${org.springframework-version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-tx</artifactId>
            <version>${org.springframework-version}</version>
        </dependency>               
        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-web</artifactId>
            <version>${org.springframework.security-version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-taglibs</artifactId>
            <version>${org.springframework.security-version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-config</artifactId>
            <version>${org.springframework.security-version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.social</groupId>
            <artifactId>spring-social-core</artifactId>
            <version>${org.springframework.social-version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.social</groupId>
            <artifactId>spring-social-web</artifactId>
            <version>${org.springframework.social-version}</version>
        </dependency>

        <!-- Twitter4J -->
        <dependency>
            <groupId>org.twitter4j</groupId>
            <artifactId>twitter4j-core</artifactId>
            <version>2.2.3</version>
        </dependency>

        <!-- JSR 303 with Hibernate Validator -->
        <dependency>
            <groupId>javax.validation</groupId>
            <artifactId>validation-api</artifactId>
            <version>1.0.0.GA</version>
        </dependency>
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-validator</artifactId>
            <version>4.1.0.Final</version>
        </dependency>

        <!-- Logging -->
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>${org.slf4j-version}</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>jcl-over-slf4j</artifactId>
            <version>${org.slf4j-version}</version>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>${org.slf4j-version}</version>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.16</version>
            <scope>runtime</scope>
        </dependency>

        <dependency>
            <groupId>com.h2database</groupId>
            <artifactId>h2</artifactId>
            <version>1.3.159</version>
        </dependency>

        <!-- @Inject -->
        <dependency>
            <groupId>javax.inject</groupId>
            <artifactId>javax.inject</artifactId>
            <version>1</version>
        </dependency>

        <!-- CGLIB, only required and used for @Configuration usage -->
        <dependency>
            <groupId>cglib</groupId>
            <artifactId>cglib-nodep</artifactId>
            <version>2.2</version>
        </dependency>

        <!-- Servlet -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
            <version>2.5</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>javax.servlet.jsp</groupId>
            <artifactId>jsp-api</artifactId>
            <version>2.1</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>javax.servlet.jsp.jstl</groupId>
            <artifactId>jstl-api</artifactId>
            <version>1.2</version>
        </dependency>
        <dependency>
            <groupId>org.glassfish.web</groupId>
            <artifactId>jstl-impl</artifactId>
            <version>1.2</version>
        </dependency>
    </dependencies>
    <repositories>
        <repository>
            <id>org.springframework.maven.release</id>
            <name>Spring Maven Release Repository</name>
            <url>http://maven.springframework.org/release</url>
            <releases><enabled>true</enabled></releases>
            <snapshots><enabled>false</enabled></snapshots>
        </repository>
        <!-- For testing against latest Spring snapshots -->
        <repository>
            <id>org.springframework.maven.snapshot</id>
            <name>Spring Maven Snapshot Repository</name>
            <url>http://maven.springframework.org/snapshot</url>
            <releases><enabled>false</enabled></releases>
            <snapshots><enabled>true</enabled></snapshots>
        </repository>
        <!-- For developing against latest Spring milestones -->
        <repository>
            <id>org.springframework.maven.milestone</id>
            <name>Spring Maven Milestone Repository</name>
            <url>http://maven.springframework.org/milestone</url>
            <snapshots><enabled>false</enabled></snapshots>
        </repository>
    </repositories>
    <build>
        <resources>
            <resource>
                <directory>src/main/java</directory>
            </resource>
        </resources>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.3.2</version>                
                <configuration>
                    <source>${java-version}</source>
                    <target>${java-version}</target>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <version>2.1.1</version>
                <configuration>
                    <warName>spring-social-twitter4j</warName>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>tomcat-maven-plugin</artifactId>
                <version>1.1</version>
            </plugin>
        </plugins>
    </build>
</project>

During maven install my goal is war:war to make WAR of my application.

Grog answered 20/6, 2013 at 20:51 Comment(5)
See jira.codehaus.org/browse/MRESOURCES-176Lugubrious
make sure you're using java 8Lelahleland
@EugeneHoza codehaus JIRA is closed and your link is dead. Do you see now why links should never be the only piece of information ?Forgat
I got this error while moving from Spring 2.2.7 to 2.3.1Birdlime
Check your java version, whether the one you have used in the project is the same as the one you've configured in the project directory. Check whether the java home variable, jre home variable and path variables are also set properly.Marley
I
173

Deleting full .m2/repository local repository solved my problem.

Or else you need to know what plugins are you using exactly with their dependencies as one of the plugin suffered a problem while downloading.

Indic answered 12/8, 2013 at 18:1 Comment(6)
I deleted by repository/org directory and it all worked fine after thatHornwort
I renamed my ".M2/Repository" it's not throwing error atleast.. let's see.Suint
should be deleting .m2/repository so you don't delete settings.xml in .m2 dirBlueness
rm -rf rm -rf ~/.m2/repository/org/apache/ works for me.Watercress
Similar with what @Watercress suggested I deleted the folder ~/.m2\repository\org\apache\maven and worked for me.Stubby
even I up vote your answer,It is not the exact solution since it is downloading all lot of stuff from Internet and it consume lot of time at the mean time occurs to me twice.appreciate give me other workaround.Paraplegia
A
137

Deleting full .m2 local repository solved my problem, too.

If you don't know where it is, the locations are:

Unix/Mac OS X – ~/.m2/repository
Windows – C:\Documents and Settings\{your-username}\.m2\repository 
        ( %USERPROFILE%\.m2\repository too, as suggested by **MC Empero** )
Acedia answered 11/9, 2013 at 17:50 Comment(3)
Note that, in Windows, typing %USERPROFILE% will lead you to your profile directory where the .m2 folder is located.Breeze
Anyone knows why this problem happens? I have the same issue and delete the directory solves it.Vowel
@MCEmperor Thanks! Found it deleted it, and it works now.Keeling
C
65

I am adding more points to the solution by @Rushi Shah

mvn clean install -X helps to identify the root cause.

Some of the important phases of Maven build lifecycle are:

clean – the project is clean of all artifacts that came from previous compilations compile – the project is compiled into /target directory of project root install – packaged archive is copied into local maven repository (could in your user's home directory under /.m2) test – unit tests are run package – compiled sources are packaged into archive (JAR by default)

The 1.6 under tag refers to JDK version. We need to ensure that proper jdk version in our dev environment or change the value to 1.7 or 1.5 or whatever if the application can be supported in that JDK version.

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.0</version>
            <configuration>
                <source>1.6</source>
                <target>1.6</target>
            </configuration>
        </plugin>
    </plugins>
</build>

We can find the complete details on Maven build lifecycle in Maven site.

Caption answered 21/11, 2013 at 13:40 Comment(0)
F
33

I had the same problem, check the installed jre used by Maven in your Run Configuration...

In your case, I think that the maven-compiler-plugin:jar:2.3.2 needs a jdk1.6

To do this : Run Configuration > YOUR_MAVEN_BUILD > JRE > Alternate JREenter image description here

Hope this helps.

Fulviah answered 23/11, 2015 at 14:46 Comment(2)
this is the best solution,also worked for me no need to delete files i think this is actually what was causing the problemPoach
you must let the world know about this. because even when i set jre to jdk in windows-> preferences, it doesn't work. but your answer works.Tirza
H
23

Sometimes it is caused due to the project points to JRE rather than JDK.So try this,

1.Right Click on project -->Build Path --> Configure Build Path -->Add Library -->JRE System Library -->Environments--> Installed JREs-->Point to java folder in c: drive (Windows) and select JDK folder and ok.

2.Remove the already present JRE from build path.

Halhalafian answered 30/6, 2015 at 5:11 Comment(2)
Worked perfectly!! Update: In Eclipse Java Oxygen, on the "Installed JREs" page, you have to click "Add..." before pointing to the folderFlabby
Yes, this worked for me as well. I think its a quick solution to remove existing JRE and add again.Ecuador
J
15

None of the other answers suggests downloading just the missing plugin.

Before you delete your whole .m2 repository and re-download all project dependencies and all plugins, you may want to try:

mvn dependency:resolve-plugins

That will download just the missing plugins.

Joijoice answered 28/2, 2021 at 1:41 Comment(1)
esto me sirvio ya que al ejecutarlo , sale los comandos exactos que necesitas usar para manuelmente solucionarlo.Indivisible
M
11

Sometimes this issue comes because the java.version which you have mentioned in POM.xml is not the one installed in your machine.

<properties>
    <java.version>1.7</java.version>
</properties>

Ensure you exactly mention the same version in your pom.xml as the jdk and jre version present in your machine.

Merrick answered 26/8, 2016 at 6:39 Comment(1)
Thank you… This Answer gave me the idea that in my case the problem had something to do with the version of Java. Turns out I had Java 9 as well as Java 8 installed on macOS. Deleted Java 9, now Maven runs well. See my Answer.Hospitalization
G
8

Usually, define maven-compiler-plugin is sufficient enough. add the following to your compiler plugin definition.

<plugin>
    <inherited>true</inherited>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>              
</plugin>
Gowk answered 20/6, 2013 at 21:40 Comment(3)
Yes I added "<inherited>true</inherited>" in my pom.xml and when I save it, I get the following exception : An internal error occurred during: "Updating Maven Dependencies". org/apache/maven/shared/filtering/MavenFilteringExceptionGrog
I have finally received the solution by running the following command : mvn clean install -X. It gave me the root cause. Actually my JAVA_HOME was pointing to JRE_HOME and the compiler in maven-compiler-plugin, it was looking for, ships with only JDK. So, I installed JDK and updated my JAVA_HOME.Grog
doesnt help : [WARNING] Unable to autodetect 'javac' path, using 'javac' from the environment.Enviable
A
6

I had this problem once, and this is how i resolved it:

  • Step-1 Clean your
    .m2/repository

  • Step-2 execute the maven command(for example mvn clean verify) from the terminal at the current project location(where your project's pom.xml file exist) instead of running maven from eclipse.
  • Ascendant answered 1/12, 2017 at 10:41 Comment(2)
    This made the thing worseDerivation
    where we can find this? .m2 dirSnub
    L
    4

    I think you have Two ways to solve this problem

    01. Set Properties

    • Set Java Build Path as jdk

    Right click project ->Java Build Path ->Select Libraries tab ->Select JRE System Library ->Click Edit button ->Click Installed JREs-> add tick to box ->click Edit ->Click Directory->Select jdk

    • Specifi which kind of jdk version you installed

    Right click project ->Project Facets ->tick java and select java version->Apply ->Ok

    • Update project

    Right-click on "project"->Go to Maven->Update

    02.Delete .m2 file

    If you can't solve your problem using above two topic get this action Close your project. Delete your full .m2 folder

    How to fined .m2 file(windows)

    Go to Local Disk(C) ->Users ->Select your PC name ->.m2 file

    Lessen answered 7/7, 2017 at 7:24 Comment(0)
    H
    4

    Either remove the below code from the pom.xml or correct your java version to make it work.

      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.0</version>
        <configuration>
          <source>1.6</source>
          <target>1.6</target>
        </configuration>
      </plugin>
    
    Helpless answered 13/11, 2019 at 15:13 Comment(1)
    This Worked for me. But one question on that if you do not mind. Is it that we downgrading the compiler. But will it create any issue ?Jangro
    H
    3

    Java 9 incompatible

    I got this error when trying to calling mvn install on a project.

    I had installed Java 9 on macOS as well as Java 8 Update 144. My Maven project was apparently invoking Java 9 and failing. Removed Java 9 from my Mac, leaving just Java 8 in place. Maven is now happily building my project to successful completion.

    Using Apache Maven 3.5.0 on macOS Sierra.

    Hospitalization answered 8/10, 2017 at 21:56 Comment(1)
    Exactly, had the same problem with Java 17Postwar
    O
    2

    Actually, if you do not want to delete your local .m2/repository/... and you are have a downloaded copy of Maven from Apache, you can have Eclipse /STS use that external Maven and you can edit the {maven}\conf\settings.xml to point your localRepository to a new empty location.

    <localRepository>C:\java\repository</localRepository>
    

    Of course, you will have a new repository with all of the maven source downloads in addition to your previous .m2 location.

    enter image description here

    Opium answered 1/5, 2014 at 21:10 Comment(0)
    C
    2

    check the property endorsed.dir tag in your pom.xml.
    I also had this problem and I fixed by modifying the property.

    Example:

    <endorsed.dir>${project.build.directory}/endorsed</endorsed.dir>  
    
    Cureton answered 25/8, 2015 at 5:51 Comment(0)
    T
    1
    • Download maven compiler plugin jar from your central repositoy n try
    • If it is still failing check your jdk version, it is because of your application is built on diff jdk version
    Teddi answered 18/1, 2016 at 7:32 Comment(0)
    H
    1

    For me, restarting Eclipse got rid of this error!

    Hallux answered 7/12, 2016 at 8:44 Comment(0)
    M
    1

    I renamed the .m2 directory, this didn't help yet, so I installed the newest sdk/jdk and restarted eclipse. This worked.

    It seems an SDK was needed and I only had installed a JRE.

    Which is weird, because eclipse worked on the same machine for a different older project.

    I imported a second maven project, and Run/maven install did only complete after restarting eclipse. So maybe just a restart of eclipse was necessary.

    Importing yet another project, and had to do maven install twice before it worked even though I had restarted eclipse.

    Mischance answered 3/4, 2018 at 10:58 Comment(1)
    I tried the maven install and it worked for me and then we need to do the maven test.Jangro
    C
    1

    Maybe there is a file got locked in the target folder

    Caceres answered 28/1, 2021 at 11:17 Comment(0)
    B
    1

    Check the JDK version in pom.xml

    <properties>
        <java.version>11</java.version>     
    </properties>
    
    Babarababassu answered 19/6, 2021 at 5:14 Comment(0)
    B
    1

    Sometimes it may be due to the use of wrong java version. Check the java version supported for the tool you are going to use. In my case, it was due to java 8 be used on maven build and it supposed to be JAVA 11.

    Change the version before do mvn clean install

    by command for Linux export JAVA_HOME=<path>

    Book answered 29/9, 2021 at 15:14 Comment(1)
    I had the same issue and this answer solved it for me.Judah
    T
    1

    I am using Intellij IDE and If you are getting this error don't use terminal. Use Maven tab on IDE and

    Select your project and do these steps;

    1. Click clean
    2. Click install

    It works for me

    enter image description here

    Towrope answered 28/12, 2021 at 9:1 Comment(0)
    B
    0

    Maybe you can add this dependency to your pom.xml. I use this method and solve the problem!

    <dependency> 
        <groupId>org.apache.maven.plugins</groupId> 
        <artifactId>maven-resources-plugin</artifactId> 
        <version>2.3.2</version> 
    </dependency>
    
    Brusque answered 14/10, 2016 at 2:0 Comment(0)
    I
    0

    for the new users on Mac os , find out .m2 folder and delete it, its on your /Users/.m2 directory.

    you wont get to see .m2 folder in finder(File Explorer), for this user this command to Show Mac hidden files

    $ defaults write com.apple.finder AppleShowAllFiles TRUE

    after this press alt and click on finder-> relaunch, you can see /Users/.m2

    to hide files again, simply use this $ defaults write com.apple.finder AppleShowAllFiles false

    Illfounded answered 28/5, 2017 at 6:54 Comment(0)
    P
    0

    It's really incredible to be oblige to erase whole .m2/repository content. I suggest to type this command (On Windows) :

    mvn clean

    mvn -X package > my_log_file.log

    The last command enable Debug option et redirect output to a file. Open the file and search ERROR or WARNING key words. You can find this kind of expression :

    DEBUG] =======================================================================
    [WARNING] The POM for javax.servlet:javax.servlet-api:jar:4.0.0 is invalid, transitive dependencies (if any) will not be available: 1 problem was encountered while building the effective model for javax.servlet:javax.servlet-api:4.0.0
    [FATAL] Non-parseable POM C:\Users\vifie\.m2\repository\net\java\jvnet-parent\3\jvnet-parent-3.pom: processing instruction can not have PITarget with reserved xml name (position: END_TAG seen ...</profiles>\n\n</project>\n\n<?xml ... @160:7)  @ C:\Users\vifie\.m2\repository\net\java\jvnet-parent\3\jvnet-parent-3.pom, line 160, column 7
    
    [WARNING] The POM for org.glassfish:javax.json:jar:1.0.4 is invalid, transitive dependencies (if any) will not be available: 1 problem was encountered while building the effective model for org.glassfish:javax.json:[unknown-version]
    [FATAL] Non-parseable POM C:\Users\vifie\.m2\repository\net\java\jvnet-parent\3\jvnet-parent-3.pom: processing instruction can not have PITarget with reserved xml name (position: END_TAG seen ...</profiles>\n\n</project>\n\n<?xml ... @160:7)  @ C:\Users\vifie\.m2\repository\net\java\jvnet-parent\3\jvnet-parent-3.pom, line 160, column 7
    

    It's esay in this case to understand you have just to delete directory C:\Users\vifie.m2\repository\net\java\jvnet-parent\3

    Relaunch compilation, packaging and so on :

    mvn package

    WARNING disappear just because you delete POM file corrupted at the good location and maven re download it. Normally the new POM file is better.

    Often debug mode give you messages with more comprehensive details.

    Why I redirect log to a file : Simply because on Windows console don't have enough buffer to store all lines and often you cannot see all lines.

    Plafond answered 2/5, 2018 at 9:58 Comment(0)
    N
    0

    We tried everything listed so far and it still failed. The error also mentioned

    (default-war) on project utilsJava: Error assembling WAR: webxml attribute is required

    The solution that finally fixed it was adding this to POM:

    <failOnMissingWebXml>false</failOnMissingWebXml>
    

    As mentioned here Error assembling WAR - webxml attribute is required

    Our POM now contains this:

    <plugin>
    <inherited>true</inherited>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-war-plugin</artifactId>
    <version>${maven-war-plugin.version}</version>
    <configuration>
    <failOnMissingWebXml>false</failOnMissingWebXml>
    <warName>${project.artifactId}</warName>
    <attachClasses>true</attachClasses>
    </configuration>
    </plugin>  
    
    Neoplasm answered 2/6, 2018 at 15:35 Comment(0)
    S
    0

    It is because your Jenkins not able to find setting file. If deleting .m2 not work, try below solution

    Go to your JOB configuration

    than to the Build section

    Add build step :- Invoke top level maven target and fill Maven version and Goal

    than click on Advance button and mention settings file path as mention in image enter image description here

    Stacey answered 26/8, 2020 at 13:51 Comment(0)
    S
    0

    It is because your Maven not able to find settings file. If deleting .m2 not work, try below solution

    Go to your JOB configuration

    than to the Build section

    Add build step :- Invoke top level maven target and fill Maven version and Goal

    than click on Advance button and mention settings file path as mention in image enter image description here

    Stacey answered 26/8, 2020 at 13:54 Comment(0)
    A
    0

    In my case, a .properties file (Spring Boot's application.properties) contained an accentuated character at some point. As you can see, it was treated as critical error, due to this IOUtil.copy using a Reader as a source, so it decodes the byte stream while copying, which is always a good source of hard to guess exceptions.

    Caused by: java.nio.charset.MalformedInputException: Input length = 1
        at java.nio.charset.CoderResult.throwException (CoderResult.java:274)
        at sun.nio.cs.StreamDecoder.implRead (StreamDecoder.java:339)
        at sun.nio.cs.StreamDecoder.read (StreamDecoder.java:178)
        at java.io.InputStreamReader.read (InputStreamReader.java:185)
        at java.io.BufferedReader.read1 (BufferedReader.java:210)
        at java.io.BufferedReader.read (BufferedReader.java:287)
        at java.io.BufferedReader.fill (BufferedReader.java:161)
        at java.io.BufferedReader.read (BufferedReader.java:182)
        at org.apache.maven.shared.filtering.BoundedReader.read (BoundedReader.java:85)
        at org.apache.maven.shared.filtering.MultiDelimiterInterpolatorFilterReaderLineEnding.read (MultiDelimiterInterpolatorFilterReaderLineEnding.java:235)
        at org.apache.maven.shared.filtering.MultiDelimiterInterpolatorFilterReaderLineEnding.read (MultiDelimiterInterpolatorFilterReaderLineEnding.java:197)
        at java.io.Reader.read (Reader.java:229)
        at org.apache.maven.shared.utils.io.IOUtil.copy (IOUtil.java:199)
        at org.apache.maven.shared.utils.io.IOUtil.copy (IOUtil.java:181)
        at org.apache.maven.shared.utils.io.FileUtils.copyFile (FileUtils.java:1908)
    
    Abie answered 18/6, 2021 at 7:11 Comment(0)
    P
    0

    It was a typo in the variableName which was leading me to this issue,

    <finalName>${project.artifactId}</finalName>
    
    Prosper answered 2/9, 2021 at 5:43 Comment(0)
    P
    0

    Had the same issue while converting my project to JDK 11 The suggested removing the .m2/repository did not work Gone through almost all the suggestions mentioned on the internet but no luck

    What I did was remove all the dependencies from the child module pom.xml and add them one by one again. This method was a success and worked like a charm

    The problem I had was some of the dependency was changed in the new JDK 11 and need to separately add to the pom.xml. The codebase did not show any error even cleaning the .m2/repository did not. So had to follow use this solution

    Pip answered 30/9, 2021 at 8:43 Comment(0)
    B
    0

    I got this when I unwittingly had two references to maven-war-plugin in my pom, one in and one in the executions section to get around the Eclipse Lifecycle issue. I fixed both to 3.3.2 and it worked just fine

    Benison answered 19/10, 2021 at 9:18 Comment(0)
    O
    -1

    I have same problem and change fork tag in pom.xml from "true" to "false" and issue resolved.

    <fork>true</fork>
    
    Opal answered 8/2, 2022 at 8:59 Comment(2)
    Mehrdad, while this code snippet may solve the problem, it doesn't explain why or how it answers the question. Please include an explanation for your code, as that really helps to improve the quality of your post. Remember that you are answering the question for readers in the future, and those people might not know the reasons for your code suggestion.Meitner
    No explanation, it not helpsIndication
    K
    -2

    i had the same problem and besides the above posts' configurations putting

                <plugin>
                <groupId>com.google.appengine</groupId>
                <artifactId>appengine-maven-plugin</artifactId>
                <version>1.9.32</version>
                <configuration>
                    <enableJarClasses>false</enableJarClasses>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>endpoints_get_discovery_doc</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
    

    in the plugins element in pom.xml. i think the problem was absence of execution -> goal "endpoints_get_discovery_doc" in some cases like mine, so this worked for me.

    Kenley answered 23/2, 2016 at 14:9 Comment(2)
    While this code snippet may solve the question, including an explanation really helps to improve the quality of your post. Remember that you are answering the question for readers in the future, and those people might not know the reasons for your code suggestion.Geniculate
    @Amy thanks for the tip , i tried to explain and i hope i succeeded .Kenley

    © 2022 - 2024 — McMap. All rights reserved.