目標org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile(default-compile)の実行に失敗しました


130

私が使用していますMavenの3.0.5春のツールソース3.2の Mavenプラグインをインストールされています。「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ローカルリポジトリ全体を削除すると、問題が解決しました。

または、ダウンロード中にプラグインの1つに問題が発生したため、依存関係を使用して正確にどのプラグインを使用しているかを知る必要があります。


2
私はrepository / orgディレクトリで削除しましたが、その後はすべて正常に機能しました
dannrob '28 / 07/28

「.M2 / Repository」の名前を変更しましたが、少なくともエラーは発生しません。
InfantPro'Aravind

13
削除されなければならない.m2/repositoryあなたが削除しないようsettings.xml.m2DIR
マイク・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 根本原因の特定に役立ちます。

Mavenビルドライフサイクルの重要なフェーズのいくつかは次のとおりです。

clean–プロジェクトには、以前のコンパイルからのすべてのアーティファクトが含まれてい ません– compileプロジェクトはプロジェクトルートの/ targetディレクトリにコンパイルさ installれます–パッケージアーカイブはローカルのmavenリポジトリにコピーされます(/.m2の下のユーザーのホームディレクトリにある可能性があります) test–ユニットテストはrun package–コンパイルされたソースはアーカイブにパッケージ化されます(デフォルトではJAR)

タグの下の1.6はJDKバージョンを指します。開発環境で適切なjdkバージョンを確保するか、アプリケーションをそのJDKバージョンでサポートできる場合は、値を1.7または1.5などに変更する必要があります。

<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
これは最良の解決策であり、ファイルを削除する必要もない私にとってもうまく
いきました

このことを世界に知らせなければなりません。Windows->設定でjreをjdkに設定しても動作しないためです。しかし、あなたの答えはうまくいきます。
神聖な

20

プロジェクトがJDKではなくJREを指していることが原因で発生する場合があります。これを試してください。

1.プロジェクトを右クリック->ビルドパス->ビルドパスの構成->ライブラリの追加-> JREシステムライブラリ->環境->インストールされたJRE-> c:ドライブのjavaフォルダーをポイント(Windows )、JDKフォルダーを選択して[OK]をクリックします。

2.ビルドパスから既存のJREを削除します。


完璧に動作しました!! 更新:Eclipse Java Oxygenの[Installed
JREs

はい、これは私にとってもうまくいきました。既存の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 2013年

5

POM.xmlで言及したjava.versionがマシンにインストールされているものではないため、この問題が発生する場合があります。

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

マシンに存在するjdkおよびjreバージョンと同じバージョンをpom.xmlで正確に言及していることを確認してください。


ありがとう…この回答は、私の場合、問題がJavaのバージョンに関係しているという考えを与えてくれました。私は、Java 9とJava 8がmacOSにインストールされていることがわかりました。Java 9を削除し、Mavenが適切に動作するようになりました。私の答えをください。
バジルブルク2017年

5

私は一度この問題を抱えていました、そしてこれが私がそれを解決した方法です:

  • Step-1きれいにする
    .m2 /リポジトリ

  • 手順2はmvn clean verify、Eclipseからmavenを実行する代わりに、現在のプロジェクトの場所(プロジェクトのpom.xmlファイルが存在する場所)のターミナルからmavenコマンド(など)を実行します。

  • これは事態をさらに悪化させた
    karlihnos 2018年

    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

    この問題を解決する方法は2つあると思います

    01.プロパティの設定

    • Javaビルドパスをjdkに設定

    プロジェクトを右クリック-> Javaビルドパス-> [ライブラリを選択]タブ-> [JREシステムライブラリを選択]-> [編集]ボタンをクリック-> [インストールされたJRE]をクリック->ティックをボックスに追加-> [編集]-> [ディレクトリをクリック]-> [jdkを選択]

    • インストールしたjdkバージョンの種類を指定します

    プロジェクトを右クリック->プロジェクトファセット-> Javaにチェックマークを付け、Javaバージョンを選択->適用-> OK

    • プロジェクトを更新する

    「プロジェクト」を右クリックして、「Mavenに移動」、「更新」の順にクリックします。

    02. .m2ファイルを削除する

    上記の2つのトピックを使用しても問題を解決できない場合は、このアクションを実行します。プロジェクトを閉じます。完全な.m2フォルダーを削除する

    .m2ファイルを細かくする方法(Windows)

    ローカルディスク(C)->ユーザー-> PC名を選択->。m2ファイルに移動します。


    1

    互換性のないJava 9

    mvn installプロジェクトを呼び出すときにこのエラーが発生しました。

    macOSにJava 9とJava 8 Update 144をインストールしました。私のMavenプロジェクトがJava 9を呼び出して失敗したようです。MacからJava 9を削除し、Java 8のみを残した。Mavenは現在、プロジェクトを正常に構築して、正常に完了しています。

    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 AppleShowAllFiles falseを書き込みます


    0

    .m2ディレクトリの名前を変更しましたが、まだ役に立ちませんでした。そのため、最新のsdk / jdkをインストールして、Eclipseを再起動しました。これはうまくいきました。

    SDKが必要で、JREのみをインストールしたようです。

    Eclipseは別の古いプロジェクトの同じマシンで動作したため、これは奇妙です。

    2番目のMavenプロジェクトをインポートしましたが、Eclipseを再起動した後にのみ、Run / mavenインストールが完了しました。だから、たぶん日食の再起動が必要でした。

    さらに別のプロジェクトをインポートし、maven installEclipseを再起動したにもかかわらず、機能する前に2回実行する必要がありました。


    0

    .m2 / repositoryのコンテンツ全体を削除する義務があることは本当に信じられないことです。このコマンドを入力することをお勧めします(Windowsの場合):

    mvn clean

    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ファイルを削除してmavenが再度ダウンロードしたためです。通常、新しいPOMファイルの方が適しています。

    多くの場合、デバッグモードでは、より包括的な詳細を含むメッセージが表示されます。

    ログをファイルにリダイレクトする理由:Windowsコンソールでは、すべての行を保存するのに十分なバッファーがなく、多くの場合、すべての行を表示できないためです。


    0

    これまでにリストされたすべてを試しましたが、まだ失敗しました。エラーも言及

    (default-war)プロジェクトutilsJava: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"なので、これは私にとってはうまくいきました。


    このコードスニペットは説明を含む質問を解決するかもしれませんがますがと、投稿の品質を向上させるのに役立ちます。あなたは将来の読者のための質問に答えていることを覚えておいてください、そしてそれらの人々はあなたのコード提案の理由を知らないかもしれません。
    イエンサラ2016

    @エイミー、ヒントをありがとう、私は説明しようとしました、そして私は成功したと思います。
    MRTC 2016
    弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
    Licensed under cc by-sa 3.0 with attribution required.