无法执行目标maven-compiler-plugin 3.8.0 - org / codehaus / plexus / compiler / manager / NoSuchCompilerException

问题描述 投票:3回答:3

我正在使用Maven 3.5.3和JDK 1.8。当我尝试使用mvn clean compile从cmd我的项目编译时,控制台返回以下错误:

[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

我的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>

我已经看过像this this这样的帖子;我试图删除所有.m2文件夹,更改pom内的源代码并检查我的存储库中是否存在所有报告为url的jar(并且都在那里)。

谢谢

编辑 - mvn -v结果:

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"

我的项目结构:

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
java maven maven-compiler-plugin
3个回答
0
投票

最好的办法是从磁盘上彻底清理并安装here的最新版本(3.5.3)。可以肯定的是,从系统窗口中删除环境变量并再次创建。


1
投票

系统安装的Apache Maven版本:3.5.3(mvn -v的结果)低于pom.xml中maven-compiler-plugin 3.8.0的版本


0
投票

在Eclipse中,Ant java.home变量不基于Windows JAVA_HOME环境变量。相反,它被设置为项目的JRE的主目录。

要更改默认JRE(例如将其更改为JDK),您可以转到Windows-> Preferences ...并选择Java-> Installed JRE .-> Edit-> C:\ Program Files \ Java \ jdk1.8.0_172

© www.soinside.com 2019 - 2024. All rights reserved.