Gagal menjalankan goal org.apache.maven.plugins: maven-compiler-plugin: 2.3.2: compile (default-compile)


130

Saya menggunakan Maven 3.0.5 dan Spring Tool Source 3.2 dengan plugin Maven diinstal. Ketika saya mencoba melakukan 'Run As ---> Maven install', saya mendapatkan kesalahan berikut:

[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

Silakan temukan di bawah pom.xml saya:

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

Selama maven menginstal tujuan saya adalah war:warmembuat PERANG aplikasi saya.



pastikan Anda menggunakan java 8
Archmede

2
@EugeneHoza codehaus JIRA ditutup dan tautan Anda mati. Apakah Anda mengerti sekarang mengapa tautan tidak boleh menjadi satu-satunya informasi?
naXa

Saya mendapatkan kesalahan ini saat pindah dari Musim Semi 2.2.7 ke 2.3.1
Ravi Parekh

Jawaban:


136

Menghapus .m2/repositoryrepositori lokal lengkap memecahkan masalah saya.

Atau Anda perlu tahu plugin apa yang Anda gunakan persis dengan dependensinya ketika salah satu plugin mengalami masalah saat mengunduh.


2
Saya dihapus oleh direktori repositori / org dan semuanya bekerja dengan baik setelah itu
dannrob

Saya berganti nama menjadi ".M2 / Repository" saya itu bukan melempar kesalahan minimal .. mari kita lihat.
InfantPro'Aravind '23

13
harus menghapus .m2/repositorysehingga Anda tidak menghapus settings.xmldalam .m2dir
Mike D

3
rm -rf rm -rf ~/.m2/repository/org/apache/bekerja untukku.
mulai tanggal

Mirip dengan apa yang disarankan @wener, saya menghapus folder ~ / .m2 \ repository \ org \ apache \ maven dan bekerja untuk saya.
Edu Costa

122

Menghapus repositori lokal penuh .m2 memecahkan masalah saya juga.

Jika Anda tidak tahu di mana itu, lokasinya adalah:

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
Perhatikan bahwa, di Windows, mengetik %USERPROFILE%akan mengarahkan Anda ke direktori profil tempat .m2folder itu berada.
MC Emperor

Adakah yang tahu mengapa masalah ini terjadi? Saya memiliki masalah yang sama dan menghapus direktori yang menyelesaikannya.
emmmphd

@MCEmperor Terima kasih! Menemukannya menghapusnya, dan berfungsi sekarang.
DIRTY DAVE

48

Saya menambahkan lebih banyak poin ke solusi oleh @Rushi Shah

mvn clean install -X membantu mengidentifikasi penyebab utama.

Beberapa fase penting siklus hidup Maven adalah:

clean- proyek bersih dari semua artefak yang berasal dari kompilasi sebelumnya compile- proyek dikompilasi ke dalam / direktori target root proyek install- arsip yang dikemas disalin ke dalam repositori pakar lokal (bisa di direktori home pengguna Anda di bawah /.m2) test- unit test adalah run package- compiled sources dikemas dalam arsip (JAR secara default)

Tag 1,6 di bawah mengacu pada versi JDK. Kita perlu memastikan bahwa versi jdk yang tepat di lingkungan dev kita atau ubah nilainya menjadi 1,7 atau 1,5 atau apa pun jika aplikasi dapat didukung dalam versi JDK itu.

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

Kita dapat menemukan detail lengkap tentang siklus hidup pembuatan Maven di situs Maven.


29

Saya memiliki masalah yang sama, periksa jre yang diinstal yang digunakan oleh Maven dalam Konfigurasi Konfigurasi Anda ...

Dalam kasus Anda, saya pikir bahwa maven-compiler-plugin: jar: 2.3.2 membutuhkan jdk1.6

Untuk melakukan ini: Jalankan Konfigurasi> YOUR_MAVEN_BUILD> JRE> Alternate JREmasukkan deskripsi gambar di sini

Semoga ini membantu.


1
ini adalah solusi terbaik, juga bekerja untuk saya tidak perlu menghapus file saya pikir ini sebenarnya yang menyebabkan masalah
Dunken

Anda harus memberi tahu dunia tentang hal ini. karena bahkan ketika saya mengatur jre ke jdk di windows-> preferensi, itu tidak berfungsi. tetapi jawaban Anda berhasil.
ilahi

20

Kadang-kadang disebabkan karena proyek menunjuk ke JRE daripada JDK. Jadi coba ini,

1. Klik kanan pada proyek -> Build Path -> Configure Build Path -> Tambah Library -> JRE System Library -> Environments -> Install JREs -> Arahkan ke folder java di c: drive (Windows) ) dan pilih folder JDK dan ok.

2.Hapus JRE yang sudah ada dari build path.


Bekerja dengan sempurna !! Pembaruan: Dalam Eclipse Java Oxygen, pada halaman "Installed JREs", Anda harus mengklik "Tambah ..." sebelum menunjuk ke folder
gotube

Ya, ini juga bekerja untuk saya. Saya pikir ini solusi cepat untuk menghapus JRE yang ada dan menambahkan lagi.
Nikhil Lotke

6

Biasanya, mendefinisikan maven-compiler-plugin sudah cukup. tambahkan berikut ini ke definisi plugin kompiler Anda.

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

Ya saya menambahkan "<inherited> true </inherited>" di pom.xml saya dan ketika saya menyimpannya, saya mendapatkan pengecualian berikut: Terjadi kesalahan internal selama: "Memperbarui Ketergantungan Maven". org / apache / maven / membagikan / memfilter / MavenFilteringException
Rushi Shah

8
Saya akhirnya menerima solusinya dengan menjalankan perintah berikut: mvn clean install -X. Itu memberi saya akar penyebabnya. Sebenarnya JAVA_HOME saya menunjuk ke JRE_HOME dan kompiler di maven-compiler-plugin, yang dicari, dikirimkan hanya dengan JDK. Jadi, saya menginstal JDK dan memperbarui JAVA_HOME saya.
Rushi Shah

tidak membantu: [PERINGATAN] Tidak dapat mendeteksi jalur 'javac' secara otomatis, menggunakan 'javac' dari lingkungan.
MemLeak

5

Terkadang masalah ini muncul karena java.version yang telah Anda sebutkan di POM.xml bukan yang diinstal di mesin Anda.

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

Pastikan Anda menyebutkan versi yang sama persis di pom.xml Anda seperti versi jdk dan jre yang ada di mesin Anda.


Terima kasih ... Jawaban ini memberi saya ide bahwa dalam kasus saya masalahnya ada hubungannya dengan versi Java. Ternyata saya telah menginstal Java 9 dan Java 8 pada macOS. Dihapus Java 9, sekarang Maven berjalan dengan baik. Lihat Jawaban saya .
Basil Bourque

5

Saya pernah mengalami masalah ini, dan ini adalah bagaimana saya mengatasinya:

  • Langkah-1 Bersihkan
    .m2 / repositori

  • Langkah-2 jalankan perintah maven (misalnya mvn clean verify) dari terminal di lokasi proyek saat ini (di mana file pom.xml proyek Anda ada) alih-alih menjalankan maven dari gerhana.

  • Ini memperburuk keadaan
    karlihnos

    2

    Sebenarnya, jika Anda tidak ingin menghapus .m2 / repositori / ... lokal Anda dan Anda memiliki salinan Maven yang diunduh dari Apache, Anda dapat meminta Eclipse / STS menggunakan Maven eksternal itu dan Anda dapat mengedit {maven} \ conf \ settings.xml untuk mengarahkan Penyimpanan lokal Anda ke lokasi kosong baru.

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

    Tentu saja, Anda akan memiliki repositori baru dengan semua unduhan sumber maven selain lokasi .m2 Anda sebelumnya.

    masukkan deskripsi gambar di sini


    2

    periksa endorsed.dirtag properti di blog Anda pom.xml.
    Saya juga punya masalah ini dan saya perbaiki dengan memodifikasi properti.

    Contoh:

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

    1
    • Unduh jar plugin penyusun maven dari repositori pusat dan coba
    • Jika masih gagal memeriksa versi jdk Anda, itu karena aplikasi Anda dibangun di atas versi jdk

    1

    Bagi saya, memulai ulang Eclipse menghilangkan kesalahan ini!


    1

    Saya pikir Anda memiliki Dua cara untuk menyelesaikan masalah ini

    01. Set Properties

    • Setel Java Build Path sebagai jdk

    Klik kanan proyek -> Java Build Path -> Pilih tab Library -> Pilih JRE System Library -> Klik tombol Edit -> Klik Installed JREs-> tambahkan centang ke kotak -> klik Edit -> Klik Direktori-> Pilih jdk

    • Tentukan jenis jdk yang Anda instal

    Klik kanan proyek -> Aspek Proyek -> centang java dan pilih versi java-> Terapkan -> Ok

    • Perbarui proyek

    Klik kanan pada "proyek" -> Pergi ke Maven-> Perbarui

    Hapus file .m2

    Jika Anda tidak dapat menyelesaikan masalah Anda menggunakan dua topik di atas, dapatkan tindakan ini Tutup proyek Anda. Hapus folder .m2 lengkap Anda

    Cara mendenda file .m2 (windows)

    Buka Disk Lokal (C) -> Pengguna -> Pilih nama PC Anda ->. M2 file


    1

    Java 9 tidak kompatibel

    Saya mendapatkan kesalahan ini ketika mencoba memanggil mvn installproyek.

    Saya telah menginstal Java 9 pada macOS dan juga Java 8 Update 144. Proyek Maven saya tampaknya memanggil Java 9 dan gagal. Dihapus Java 9 dari Mac saya, hanya menyisakan Java 8 di tempat. Maven sekarang dengan senang hati membangun proyek saya hingga berhasil diselesaikan.

    Menggunakan Apache Maven 3.5.0 pada macOS Sierra.


    0

    Mungkin Anda bisa menambahkan ketergantungan ini ke pom.xml Anda. Saya menggunakan metode ini dan menyelesaikan masalah!

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

    0

    untuk pengguna baru di Mac os, cari tahu folder .m2 dan hapus, itu ada di / Pengguna /.m2 Anda direktori / .

    Anda tidak akan melihat folder .m2 di finder (File Explorer), untuk pengguna ini perintah ini untuk Tampilkan file tersembunyi Mac

    $ default tulis com.apple.finder AppleShowAllFiles TRUE

    setelah tekan alt ini dan klik pada finder-> relaunch, Anda dapat melihat / Pengguna /.m2

    untuk menyembunyikan file lagi, cukup gunakan $ default ini menulis com.apple.finder AppleShowAllFiles false


    0

    Saya mengganti nama direktori .m2, ini belum membantu, jadi saya menginstal sdk / jdk terbaru dan memulai kembali gerhana. Ini berhasil.

    Sepertinya SDK diperlukan dan saya hanya menginstal JRE.

    Yang aneh, karena gerhana bekerja pada mesin yang sama untuk proyek lama yang berbeda.

    Saya mengimpor proyek maven kedua, dan Jalankan / maven instal hanya selesai setelah restart gerhana. Jadi mungkin hanya perlu restart gerhana.

    Mengimpor proyek lain, dan harus melakukan maven installdua kali sebelum berhasil meskipun saya telah memulai kembali gerhana.


    0

    Sungguh luar biasa wajib menghapus seluruh konten .m2 / repositori. Saya sarankan untuk mengetik perintah ini (Di Windows):

    mvn bersih

    mvn -X package> my_log_file.log

    Perintah terakhir memungkinkan opsi Debug dan redirect output ke file. Buka file dan cari ERROR atau PERINGATAN kata kunci. Anda dapat menemukan ungkapan seperti ini:

    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

    Esay dalam hal ini untuk memahami bahwa Anda baru saja menghapus direktori C: \ Users \ vifie.m2 \ repositori \ net \ java \ jvnet-parent \ 3

    Luncurkan kembali kompilasi, pengemasan, dan sebagainya:

    paket mvn

    PERINGATAN menghilang hanya karena Anda menghapus file POM rusak di lokasi yang baik dan harus mengunduh ulang. Biasanya file POM baru lebih baik.

    Seringkali mode debug memberi Anda pesan dengan detail yang lebih komprehensif.

    Mengapa saya mengarahkan log ke file: Cukup karena pada konsol Windows tidak memiliki cukup buffer untuk menyimpan semua baris dan seringkali Anda tidak dapat melihat semua baris.


    0

    Kami mencoba semuanya yang terdaftar sejauh ini dan masih gagal. Kesalahan juga disebutkan

    (perang bawaan) pada proyek utilsJava: Galat PERANG PERANG: atribut webxml diperlukan

    Solusi yang akhirnya diperbaiki adalah menambahkan ini ke POM:

    <failOnMissingWebXml>false</failOnMissingWebXml>

    Seperti disebutkan di sini Galat saat merakit WAR - atribut webxml diperlukan

    POM kami sekarang berisi ini:

    <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

    Hapus kode di bawah ini dari pom.xml atau koreksi versi java Anda agar berfungsi.

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

    -2

    Saya memiliki masalah yang sama dan selain menempatkan konfigurasi di atas posting

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

    di elemen plugin di pom.xml. saya pikir masalahnya adalah tidak adanya eksekusi -> goal "endpoints_get_discovery_doc" dalam beberapa kasus seperti milik saya, jadi ini bekerja untuk saya.


    Sementara potongan kode ini dapat menyelesaikan pertanyaan, termasuk penjelasan sangat membantu untuk meningkatkan kualitas posting Anda. Ingatlah bahwa Anda menjawab pertanyaan untuk pembaca di masa depan, dan orang-orang itu mungkin tidak tahu alasan untuk saran kode Anda.
    yennsarah

    @Amy terima kasih atas tipnya, saya mencoba menjelaskan dan saya harap saya berhasil.
    MRTC
    Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
    Licensed under cc by-sa 3.0 with attribution required.