簡體   English   中英

如何修復[錯誤]域= plugin> org.apache.maven.plugins:maven-compiler-plugin:3.x(在Spring Boot上運行)

[英]How to fix [Error] realm = plugin>org.apache.maven.plugins:maven-compiler-plugin:3.x (Happened while working on Spring Boot)

問題

我決定使用spring boot hello word示例與Java 1.8一起工作,但是遇到了令人討厭的依賴問題。 在答案部分,我解釋了解決問題的方法,以及一些有關如何使計算機上的所有內容保持最新狀態的提示。 我得到的錯誤是:

[ERROR] realm =    plugin>org.apache.maven.plugins:maven-compiler-plugin:3.x
[ERROR] strategy = org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy
[ERROR] urls[0] = file:/Users/xxx/.m2/repository/org/apache/maven/plugins/maven-compiler-plugin/3.1/maven-compiler-plugin-3.1.jar
[ERROR] urls[1] = file:/Users/xxx/.m2/repository/org/codehaus/plexus/plexus-utils/1.5.1/plexus-utils-1.5.1.jar
[ERROR] urls[2] = file:/Users/xxx/repository/org/apache/maven/shared/maven-shared-utils/0.1/maven-shared-utils-0.1.jar
[ERROR] urls[3] = file:/Users/xxx/repository/com/google/code/findbugs/jsr305/2.0.1/jsr305-2.0.1.jar
[ERROR] urls[4] = file:/Users/xxx/.m2/repository/org/apache/maven/shared/maven-shared-incremental/1.1/maven-shared-incremental-1.1.jar
[ERROR] urls[5] = file:/Users/xxx/.m2/repository/org/codehaus/plexus/plexus-component-annotations/1.5.5/plexus-component-annotations-1.5.5.jar
[ERROR] urls[6] = file:/Users/xxx/.m2/repository/org/codehaus/plexus/plexus-compiler-api/2.2/plexus-compiler-api-2.2.jar
[ERROR] urls[7] = file:/Users/xxx/.m2/repository/org/codehaus/plexus/plexus-compiler-manager/2.2/plexus-compiler-manager-2.2.jar
[ERROR] urls[8] = file:/Users/xxx/.m2/repository/org/codehaus/plexus/plexus-compiler-javac/2.2/plexus-compiler-javac-2.2.jar
[ERROR] urls[9] = file:/Users/xxx/.m2/repository/org/apache/xbean/xbean-reflect/3.4/xbean-reflect-3.4.jar
[ERROR] urls[10] = file:/Users/xxx/.m2/repository/log4j/log4j/1.2.12/log4j-1.2.12.jar
[ERROR] urls[11] = file:/Users/xxx/.m2/repository/commons-logging/commons-logging-api/1.1/commons-logging-api-1.1.jar
[ERROR] urls[12] = file:/Users/xxx/.m2/repository/com/google/collections/google-collections/1.0/google-collections-1.0.jar
[ERROR] urls[13] = file:/Users/xxx/.m2/repository/junit/junit/3.8.2/junit-3.8.2.jar

無效的解決方案

許多線程都建議像此處刪除〜/ .m2 /存儲庫但這並不能解決我的問題。

還有一些人說這是Java 1.8的結果,它與Java 1.7完美地兼容! 但是不能相信他們,因為那沒有道理。 我真的很想獲得這個簡單的示例,以使其與Java 8兼容。

解決方案摘要

這是一個依賴沖突,但與Java版本或.m2文件夾下的存儲庫無關。

錯誤的根源是導致plugin>org.apache.maven.plugins:maven-compiler-plugin:3.x的依賴項沖突。


其他相關資料

關於stackoverflow的其他類似問題,但不能解決我的Spring Boot問題,如下所示:

1 -Maven構建錯誤未能執行目標缺少一類

2- 無法執行目標組織apache-maven-pluginsmaven-compiler-plugin2-3-2comp

3- Maven發布插件問題無法執行目標組織apache-maven-pluginsmav

4- Maven原型問題

就像我提到的那樣,錯誤的根源是導致plugin>org.apache.maven.plugins:maven-compiler-plugin:3.x的依賴項沖突。 基於在某些情況下通過<properties><java.version>1.8</java.version></properties>指定Java版本的注釋,可以解決某些問題( 基於此處的指南 )。

但是在我的情況下(簽出規范),僅指定maven編譯器插件並通過以下代碼解決了我的問題:

<plugin>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>2.3.2</version>
    <configuration>
        <source>1.8</source>
        <target>1.8</target>
    </configuration>
</plugin>

眼鏡

  • Java 1.8_45
  • Maven 3.3.3
  • OS X優勝美地

基本上,我必須在pom.xml中指定maven-compiler-plugin(請參見下文)。

的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/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>


    <groupId>com.mycompany</groupId>
    <artifactId>helloworld</artifactId>
    <version>0.1.0</version>
    <!-- Inherit defaults from Spring Boot -->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.2.2.RELEASE</version>
    </parent>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

    </dependencies>
    <build>
        <plugins>

            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.3.2</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>

        </plugins>
    </build>
</project>

SampleContoroller.java

import org.springframework.boot.*;
import org.springframework.boot.autoconfigure.*;
import org.springframework.web.bind.annotation.*;

@RestController
@EnableAutoConfiguration
public class SampleController {

    @RequestMapping("/")
    String home() {
        return "Hello World!";
    }

    public static void main(String[] args) throws Exception {
        SpringApplication.run(SampleController.class, args);
    }
}

項目文件夾結構

只需遵循Maven標准結構即可。

提示如果這解決了您的問題,或者您遇到其他問題,請隨時在評論中給我反饋。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM