4

i am using Maven 3.5.3 with JDK 1.8. When i try to compile from cmd my project with mvn clean compile, the console return the following errors:

[INFO] Scanning for projects...
[INFO]
[INFO] ------------------< com.dadopay:DadopayDAOAggregator >------------------
[INFO] Building DadopayDAOAggregator 1.0.0
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ DadopayDAOAggregator ---
[INFO] Deleting C:\Users\..\Documents\Workspace\Dadopay_DAO_Aggregator\target
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ DadopayDAOAggregator ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 1 resource
[INFO]
[INFO] --- maven-compiler-plugin:3.8.0:compile (default-compile) @ DadopayDAOAggregator ---
[WARNING] Error injecting: org.apache.maven.plugin.compiler.CompilerMojo
java.lang.NoClassDefFoundError: org/codehaus/plexus/compiler/manager/NoSuchCompilerException
   ...
    Caused by: java.lang.ClassNotFoundException: org.codehaus.plexus.compiler.manager.NoSuchCompilerException
  ...
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD FAILURE
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time: 13.753 s
    [INFO] Finished at: 2018-10-30T12:02:58+01:00
    [INFO] ------------------------------------------------------------------------
    [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.0:compile (default-compile) on project DadopayDAOAggregator: Execution default-compile of goal org.apache.maven.plugins:maven-compiler-plugin:3.8.0:compile failed: A required class was missing while executing org.apache.maven.plugins:maven-compiler-plugin:3.8.0:compile: org/codehaus/plexus/compiler/manager/NoSuchCompilerException
    [ERROR] -----------------------------------------------------
    [ERROR] realm =    plugin>org.apache.maven.plugins:maven-compiler-plugin:3.8.0
    [ERROR] strategy = org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy
    [ERROR] urls[0] = file:/../.m2/repository/org/apache/maven/plugins/maven-compiler-plugin/3.8.0/maven-compiler-plugin-3.8.0.jar
    [ERROR] urls[1] = file:/../.m2/repository/org/sonatype/sisu/sisu-inject-bean/1.4.2/sisu-inject-bean-1.4.2.jar
    [ERROR] urls[2] = file:/../.m2/repository/org/sonatype/sisu/sisu-guice/2.1.7/sisu-guice-2.1.7-noaop.jar
    [ERROR] urls[3] = file:/../.m2/repository/org/codehaus/plexus/plexus-utils/2.0.4/plexus-utils-2.0.4.jar
    [ERROR] urls[4] = file:/../.m2/repository/org/sonatype/aether/aether-util/1.7/aether-util-1.7.jar
    [ERROR] urls[5] = file:/../.m2/repository/org/codehaus/plexus/plexus-interpolation/1.14/plexus-interpolation-1.14.jar
    [ERROR] urls[6] = file:/../.m2/repository/org/codehaus/plexus/plexus-component-annotations/1.7.1/plexus-component-annotations-1.7.1.jar
    [ERROR] urls[7] = file:/../.m2/repository/org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.jar
    [ERROR] urls[8] = file:/../.m2/repository/org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.jar
    [ERROR] urls[9] = file:/../.m2/repository/org/apache/maven/shared/maven-shared-utils/3.2.1/maven-shared-utils-3.2.1.jar
    [ERROR] urls[10] = file:/../.m2/repository/commons-io/commons-io/2.5/commons-io-2.5.jar
    [ERROR] urls[11] = file:/../.m2/repository/org/apache/maven/shared/maven-shared-incremental/1.1/maven-shared-incremental-1.1.jar
    [ERROR] urls[12] = file:/../.m2/repository/org/codehaus/plexus/plexus-java/0.9.10/plexus-java-0.9.10.jar
    [ERROR] urls[13] = file:/../.m2/repository/org/ow2/asm/asm/6.2/asm-6.2.jar
    [ERROR] urls[14] = file:/../.m2/repository/com/thoughtworks/qdox/qdox/2.0-M9/qdox-2.0-M9.jar
    [ERROR] urls[15] = file:/../.m2/repository/org/codehaus/plexus/plexus-compiler-api/2.8.4/plexus-compiler-api-2.8.4.jar
    [ERROR] urls[16] = file:/../.m2/repository/org/codehaus/plexus/plexus-compiler-manager/2.8.4/plexus-compiler-manager-2.8.4.jar
    [ERROR] urls[17] = file:/../.m2/repository/org/codehaus/plexus/plexus-compiler-javac/2.8.4/plexus-compiler-javac-2.8.4.jar
    [ERROR] Number of foreign imports: 1
    [ERROR] import: Entry[import  from realm ClassRealm[maven.api, parent: null]]
    [ERROR]
    [ERROR] -----------------------------------------------------
    [ERROR] : org.codehaus.plexus.compiler.manager.NoSuchCompilerException
    [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

My pom:

<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/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.dadopay</groupId>
    <artifactId>DadopayDAOAggregator</artifactId>
    <version>1.0.0</version>
    <name>DadopayDAOAggregator</name>
    <build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>3.8.0</version>
                    <configuration>
                        <source>1.8</source>
                        <target>1.8</target>
                        <scope>test</scope>
                    </configuration>

                </plugin>
            </plugins>
        </pluginManagement>
    </build>
    <dependencies>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>4.3.1RELEASE</version>
        </dependency>
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.17</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jdbc</artifactId>
            <version>4.3.1RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>4.3.1RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
            <version>3.8.1</version>
        </dependency>

        <dependency>
            <groupId>com.oracle</groupId>
            <artifactId>ojdbc14</artifactId>
            <version>10.2.0.3.0</version>
        </dependency>
        <dependency>
            <groupId>commons-dbcp</groupId>
            <artifactId>commons-dbcp</artifactId>
            <version>1.4</version>
            <exclusions>
                <exclusion>
                    <artifactId>xercesImpl</artifactId>
                    <groupId>xerces</groupId>
                </exclusion>
            </exclusions>
        </dependency>

    </dependencies>

I already saw some post like this and this; i tried to delete all .m2 folder, change the source inside pom and check if all the jar reported as urls are present in my repository (and all was there).

Thank you

EDIT - mvn -v result:

Apache Maven 3.5.3 (3383c37e1f9e9b3bc3df5050c29c8aff9f295297; 2018-02-24T20:49:05+01:00)
Maven home: C:\Program Files\maven\bin\..
Java version: 1.8.0_171, vendor: Oracle Corporation
Java home: C:\Program Files\Java\jdk1.8.0_171\jre
Default locale: it_IT, platform encoding: Cp1252
OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"

My Project structure:

src
   main
        java
             it.noatel.data_access.bean
             it.noatel.data_access.dao
             it.noatel.data_access.commons
             it.noatel.data_access.dao.impl.jdbc
             it.noatel.data_access.dao.impl.commons
             it.noatel.data_access.util
el fuser
  • 606
  • 1
  • 6
  • 10

4 Answers4

2

The System's installed Apache Maven version: 3.5.3 (the result of mvn -v) is lower than the version of the maven-compiler-plugin 3.8.0 in your pom.xml

Yugerten
  • 878
  • 1
  • 11
  • 30
  • 1
    @elfuser Can you post the structure of your project, is their parent pom and module pom? – Yugerten Oct 31 '18 at 10:52
  • @Yugurten just added completed pom and the structure. – el fuser Oct 31 '18 at 11:20
  • 1
    @elfuser try to delete and just let .... on the build space – Yugerten Oct 31 '18 at 11:23
  • Downgrading the plugin version to 3.5.1 worked for me, but is this really related? On a different computer, 3.8.0 works fine with Maven 3.6, which is also "lower" than 3.8. Do you have a source for this (after all, it's set as a quote)? – tobias_k May 15 '19 at 16:50
1

The best thing to do is totally clean from your disk and install last version (3.5.3) from here. For be sure, remove environment variable from system windows and create again.

giuseppe trubia
  • 142
  • 1
  • 13
1

I use Intellij Idea and I solved it by the rebuilding the project

Build -> Rebuild Project

prov
  • 61
  • 6
0

In Eclipse the Ant java.home variable is not based on the Windows JAVA_HOME environment variable. Instead it is set to the home directory of the project's JRE.

To change the default JRE (e.g. change it to a JDK) you can go to Windows->Preferences... and choose Java->Installed JREs.-> Edit-> C:\Program Files\Java\jdk1.8.0_172