developer tip

목표 org.apache.maven.plugins : maven-compiler-plugin : 2.3.2 : compile (기본 컴파일)을 실행하지 못했습니다.

optionbox 2020. 7. 24. 20:39
반응형

목표 org.apache.maven.plugins : maven-compiler-plugin : 2.3.2 : compile (기본 컴파일)을 실행하지 못했습니다.


Maven 플러그인이 설치된 Maven 3.0.5 및 Spring Tool Source 3.2를 사용하고 있습니다. 'Run As ---> Maven install'을 시도하면 다음 오류가 발생합니다.

[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

내 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>

maven을 설치하는 동안 내 목표는 war : war로 내 응용 프로그램을 WAR로 만듭니다. 적시에 도움을 주시면 감사하겠습니다.


전체 .m2/repository로컬 저장소를 삭제 하면 문제가 해결되었습니다.

또는 플러그인 중 하나에서 다운로드하는 동안 문제가 발생했기 때문에 종속성과 함께 정확히 어떤 플러그인을 사용하고 있는지 알아야합니다.


전체 .m2 로컬 저장소를 삭제하면 내 문제도 해결되었습니다.

어디에 있는지 모르는 경우 위치는 다음과 같습니다.

Unix/Mac OS X – ~/.m2/repository
Windows – C:\Documents and Settings\{your-username}\.m2\repository

@Rushi Shah가 솔루션에 더 많은 포인트를 추가하고 있습니다.

mvn clean install -X 근본 원인을 식별하는 데 도움이됩니다.

메이븐 빌드 라이프 사이클의 중요한 단계는 다음과 같습니다.

clean– 프로젝트는 이전 컴파일에서 가져온 모든 아티팩트를 제거합니다. compile– 프로젝트는 프로젝트 루트의 / target 디렉토리에 컴파일됩니다 install– 패키지 된 아카이브는 로컬 maven 저장소에 복사됩니다 (/.m2 아래의 사용자 홈 디렉토리에 있음) test– 단위 테스트는 실행 package– 컴파일 된 소스가 아카이브로 패키지됩니다 (기본적으로 JAR)

1.6 미만 태그는 JDK 버전을 나타냅니다. 우리는 개발 환경에서 적절한 jdk 버전을 보장하거나 값을 1.7 또는 1.5로 변경하거나 JDK 버전에서 응용 프로그램을 지원할 수있는 경우 무엇이든 변경해야합니다.

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

Maven 사이트에서 Maven 빌드 수명주기대한 자세한 내용을 찾을 수 있습니다.


동일한 문제가 발생했습니다. 실행 구성에서 Maven이 사용하는 설치된 jre를 확인하십시오.

귀하의 경우 maven-compiler-plugin : jar : 2.3.2에 jdk1.6이 필요하다고 생각합니다

이를 수행하려면 구성> YOUR_MAVEN_BUILD> JRE> 대체 JRE를 실행하십시오.여기에 이미지 설명을 입력하십시오

도움이 되었기를 바랍니다.


때로는 프로젝트 포인트가 JDK가 아닌 JRE를 가리 키기 때문에 발생합니다.

1. 프로젝트-> 빌드 경로-> 빌드 경로 구성-> 라이브러리 추가-> JRE 시스템 라이브러리-> 환경-> 설치된 JRE-> c : 드라이브의 java 폴더를 마우스 오른쪽 버튼으로 클릭하십시오 (Windows )를 선택하고 JDK 폴더를 선택한 후 확인을 선택하십시오.

2. 빌드 경로에서 이미 존재하는 JRE를 제거하십시오.


일반적으로 maven-compiler-plugin을 정의하면 충분합니다. 컴파일러 플러그인 정의에 다음을 추가하십시오.

<plugin>
    <inherited>true</inherited>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>              
</plugin>

나는이 문제를 한 번 겪었고, 이것이 내가 그것을 해결 한 방법이다.

  • 1 단계 청소
    .m2 / 리포지토리

  • 2 단계 mvn clean verify는 Eclipse에서 maven을 실행하는 대신 현재 프로젝트 위치 (프로젝트의 pom.xml 파일이있는 위치)의 터미널에서 maven 명령 (예 :)을 실행합니다.

  • POM.xml에서 언급 한 java.version이 시스템에 설치된 것이 아니기 때문에이 문제가 발생하는 경우가 있습니다.

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

    컴퓨터에있는 jdk 및 jre 버전과 동일한 버전을 pom.xml에 정확하게 언급해야합니다.


    실제로 로컬 .m2 / repository / ...를 삭제하지 않고 Apache에서 Maven의 다운로드 사본을 가지고있는 경우 Eclipse / STS가 해당 외부 Maven을 사용하도록하고 {maven} \을 편집 할 수 있습니다. conf \ settings.xml을 사용하여 localRepository를 비어있는 새 위치로 지정하십시오.

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

    물론 이전 .m2 위치와 함께 모든 Maven 소스 다운로드가 포함 된 새 저장소가 있습니다.

    여기에 이미지 설명을 입력하십시오


    의 속성 endorsed.dir태그를 확인 하십시오 pom.xml.
    또한이 문제가 있었고 속성을 수정하여 수정했습니다.

    예:

    <endorsed.dir>${project.build.directory}/endorsed</endorsed.dir>  
    

    • 중앙 리포지토리에서 Maven 컴파일러 플러그인 jar 다운로드
    • 그래도 jdk 버전을 확인하지 못하면 응용 프로그램이 diff jdk 버전을 기반으로하기 때문입니다.

    나를 위해 Eclipse를 다시 시작하면이 오류가 제거되었습니다!


    이 문제를 해결하는 두 가지 방법이 있다고 생각합니다

    01. 속성 설정

    • Java 빌드 경로를 jdk로 설정

    프로젝트를 마우스 오른쪽 버튼으로 클릭-> Java 빌드 경로-> 라이브러리 선택 탭-> JRE 시스템 라이브러리 선택-> 편집 버튼 클릭-> 설치된 JRE 클릭-> 체크 박스 추가-> 편집 클릭-> 디렉토리 클릭-> jdk 선택

    • 어떤 종류의 jdk 버전을 설치했는지 지정

    프로젝트-> 프로젝트 패싯-> java를 선택하고 java 버전-> 적용-> 확인을 선택하십시오.

    • 프로젝트 업데이트

    "프로젝트"를 마우스 오른쪽 버튼으로 클릭-> Maven으로 이동-> 업데이트

    02.m2 파일 삭제

    위의 두 가지 주제를 사용하여 문제점을 해결할 수없는 경우이 조치를 받으십시오. 프로젝트를 닫으십시오. 전체 .m2 폴더를 삭제하십시오.

    .m2 파일을 벌금 질하는 방법 (Windows)

    로컬 디스크 (C)-> 사용자-> PC 이름 선택->. m2 파일로 이동하십시오.


    호환되지 않는 Java 9

    mvn install프로젝트 를 호출하려고 할 때이 오류가 발생 했습니다.

    macOS 및 Java 8 업데이트 144에 Java 9를 설치했습니다. Maven 프로젝트가 Java 9를 호출하고 실패한 것 같습니다. 내 Mac에서 Java 9를 제거하고 Java 8 만 그대로 둡니다. 메이븐은 이제 성공적으로 프로젝트를 성공적으로 완수하고 있습니다.

    macOS Sierra에서 Apache Maven 3.5.0 사용


    이 종속성을 pom.xml에 추가 할 수 있습니다. 이 방법을 사용하여 문제를 해결합니다!

    <dependency> 
        <groupId>org.apache.maven.plugins</groupId> 
        <artifactId>maven-resources-plugin</artifactId> 
        <version>2.3.2</version> 
    </dependency>
    

    Mac os의 새로운 사용자의 경우 .m2 폴더를 찾아 /Users/.m2 디렉토리 에서 삭제하십시오 .

    파인더 (파일 탐색기)에 .m2 폴더 가 표시되지 않습니다. 이 사용자의 경우 Mac 숨김 파일 표시 명령

    $ 기본값은 com.apple.finder를 작성합니다. AppleShowAllFiles TRUE

    이 alt를 누른 후 finder- > relaunch를 클릭하면 /Users/.m2 를 볼 수 있습니다

    파일을 다시 숨기려면이 $ 기본값을 사용하십시오. com.apple.finder AppleShowAllFiles false


    .m2 디렉토리의 이름을 변경했지만 아직 도움이되지 않았으므로 최신 sdk / jdk를 설치하고 일식을 다시 시작했습니다. 이것은 효과가 있었다.

    SDK가 필요한 것 같고 JRE 만 설치했습니다.

    이클립스는 다른 오래된 프로젝트를 위해 동일한 컴퓨터에서 작업했기 때문에 이상합니다.

    두 번째 maven 프로젝트를 가져 왔고 Eclipse를 다시 시작한 후에 만 ​​Run / maven 설치가 완료되었습니다. 따라서 일식을 다시 시작해야 할 수도 있습니다.

    또 다른 프로젝트를 가져오고 maven installEclipse를 다시 시작했지만 작동하기 전에 두 번 수행해야했습니다.


    전체 .m2 / 리포지토리 내용을 지워야한다는 것은 정말 놀라운 일입니다. 이 명령을 입력하는 것이 좋습니다 (Windows의 경우).

    깨끗하다

    mvn -X 패키지> my_log_file.log

    마지막 명령은 디버그 옵션을 활성화하고 출력을 파일로 리디렉션합니다. 파일을 열고 ERROR 또는 WARNING 키워드를 검색하십시오. 이런 종류의 표현을 찾을 수 있습니다.

    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
    

    이 경우 C : \ Users \ vifie.m2 \ repository \ net \ java \ jvnet-parent \ 3 디렉토리 만 삭제하면된다는 것을 이해하는 것입니다.

    컴파일, 패키징 등을 다시 시작하십시오.

    mvn 패키지

    좋은 위치에서 손상된 POM 파일을 삭제하고 다시 다운로드하기 때문에 경고가 사라집니다. 일반적으로 새 POM 파일이 더 좋습니다.

    종종 디버그 모드는보다 포괄적 인 세부 정보가있는 메시지를 제공합니다.

    로그를 파일로 리디렉션하는 이유 : Windows 콘솔에는 모든 줄을 저장할 충분한 버퍼가 없으며 종종 모든 줄을 볼 수 없기 때문입니다.


    우리는 지금까지 나열된 모든 것을 시도했지만 여전히 실패했습니다. 오류도 언급

    프로젝트 utilsJava의 (default-war) : WAR 조립 오류 : webxml 속성이 필요합니다

    마침내 해결 된 솔루션은 이것을 POM에 추가하는 것입니다.

    <failOnMissingWebXml>false</failOnMissingWebXml>
    

    여기에 언급 된 바와 같이 WAR 조립 오류-webxml 속성이 필요합니다

    우리의 POM은 이제 이것을 포함합니다 :

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

    나는 같은 문제가 있었고 위의 게시물 구성 외에도

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

    pom.xml의 plugins 요소에 있습니다. 나는 문제가 내 부재와 같은 경우에 실행 부재 -> 목표 "endpoints_get_discovery_doc" 가 아니라고 생각 했기 때문에 이것이 나를 위해 일했다.

    참고 : https://stackoverflow.com/questions/17223536/failed-to-execute-goal-org-apache-maven-pluginsmaven-compiler-plugin2-3-2comp

    반응형