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


130

내가 사용하고 메이븐 3.0.5봄 도구 소스 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을 만드는 것입니다 .



Java 8을 사용하고 있는지 확인하십시오.
Archmede

2
@EugeneHoza codehaus JIRA가 닫히고 연결이 끊어졌습니다. 왜 링크가 유일한 정보가되어서는 안 되는가?
naXa

Spring 2.2.7에서 2.3.1로 이동하는 동안이 오류가 발생했습니다.
Ravi Parekh

답변:


135

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

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


2
나는 repository / org 디렉토리에 의해 삭제되었고 그 후에는 잘 작동했다
dannrob

".M2 / Repository"의 이름을 바꾸어도 오류가 발생하지 않습니다.
InfantPro'Aravind '10

13
dir 에서 .m2/repository삭제하지 않도록 삭제 해야합니다settings.xml.m2
Mike D

3
rm -rf rm -rf ~/.m2/repository/org/apache/나를 위해 작동합니다.
wener

@wener가 제안한 것과 비슷하게 ~ / .m2 \ repository \ org \ apache \ maven 폴더를 삭제하고 나를 위해 일했습니다.
Edu Costa

122

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

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

Unix/Mac OS X  ~/.m2/repository
Windows  C:\Documents and Settings\{your-username}\.m2\repository 
        ( %USERPROFILE%\.m2\repository too, as suggested by **MC Empero** )

3
Windows에서 입력 %USERPROFILE%하면 .m2폴더가 있는 프로필 디렉토리로 연결 됩니다.
MC 황제

왜이 문제가 발생하는지 알고 있습니까? 나는 같은 문제가 있고 디렉토리를 삭제하면 문제가 해결됩니다.
emmmphd

@MCEmperor 감사합니다! 그것을 삭제하고 지금 작동합니다.
더티 데이브

48

@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 빌드 수명주기 에 대한 자세한 내용을 찾을 수 있습니다.


29

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

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

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

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


1
이것은 최선의 해결책이며, 또한 나를 위해 파일을 삭제할 필요가 없었습니다. 이것이 실제로 문제의 원인이라고 생각합니다.
Dunken

당신은 이것에 대해 세상에 알려야합니다. Windows-> 환경 설정에서 jre를 jdk로 설정해도 작동하지 않기 때문입니다. 그러나 당신의 대답은 효과가 있습니다.
신성한

20

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

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

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


완벽하게 일했다!! 업데이트 : Eclipse Java Oxygen의 "Installed JREs"페이지에서 폴더를 가리 키기 전에 "Add ..."를 클릭해야합니다.
gotube

예, 이것은 저에게도 효과적이었습니다. 기존 JRE를 제거하고 다시 추가하는 빠른 솔루션이라고 생각합니다.
Nikhil Lotke

6

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

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

예 pom.xml에 "<inherited> true </ inherited>"를 추가하고 저장하면 다음 예외가 발생합니다. "Maven 종속성 업데이트 중"내부 오류가 발생했습니다. org / apache / maven / shared / filtering / MavenFilteringException
Shah

8
mvn clean install -X 명령을 실행하여 솔루션을 마침내 받았습니다. 그것은 근본 원인을 주었다. 실제로 내 JAVA_HOME은 JRE_HOME을 가리키고 있으며 maven-compiler-plugin의 컴파일러는 JDK와 함께 제공됩니다. 그래서 JDK를 설치하고 JAVA_HOME을 업데이트했습니다.
Rushi Shah

도움이되지 않음 : [경고] 환경에서 'javac'를 사용하여 'javac'경로를 자동 감지 할 수 없습니다.
MemLeak

5

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

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

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


감사합니다…이 답변은 제 경우에 문제가 Java 버전과 관련이 있다는 생각을주었습니다. macOS에 Java 9뿐만 아니라 Java 9도 설치되어 있습니다. Java 9가 삭제되었습니다. 이제 Maven이 제대로 실행됩니다. 내 답변을 참조하십시오 .
Basil Bourque

5

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

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

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

  • 이것은 상황을 악화시켰다
    karlihnos

    2

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

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

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

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


    2

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

    예:

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

    1
    • 중앙 리포지토리에서 Maven 컴파일러 플러그인 jar 다운로드
    • 여전히 jdk 버전 확인에 실패하면 응용 프로그램이 diff jdk 버전으로 빌드 되었기 때문입니다.

    1

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


    1

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

    01. 속성 설정

    • Java 빌드 경로를 jdk로 설정

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

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

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

    • 프로젝트 업데이트

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

    02.m2 파일 삭제

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

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

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


    1

    호환되지 않는 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 사용


    0

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

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

    0

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

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

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

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

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


    0

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

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

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

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

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


    0

    전체 .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 콘솔에는 모든 줄을 저장할 충분한 버퍼가 없으며 종종 모든 줄을 볼 수 없기 때문입니다.


    0

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

    프로젝트 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>  

    0

    pom.xml에서 아래 코드를 제거하거나 Java 버전을 수정하여 작동하십시오.

      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.0</version>
        <configuration>
          <source>1.6</source>
          <target>1.6</target>
        </configuration>
      </plugin>

    -2

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

                <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" 가 아니라고 생각 했기 때문에 이것이 나를 위해 일했다.


    이 코드 스 니펫은 문제를 해결할 수 있지만 설명을 포함하면 게시물의 품질을 향상시키는 데 실제로 도움이됩니다. 앞으로 독자에게 질문에 대한 답변을 제공하고 있으며 해당 사람들이 귀하의 코드 제안 이유를 모를 수도 있습니다.
    yennsarah

    팁에 대한 @Amy 감사합니다, 나는 설명하려고 노력하고 내가 성공하기를 바랍니다.
    MRTC
    당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
    Licensed under cc by-sa 3.0 with attribution required.