Hedef yürütülemedi org.apache.maven.plugins: maven-compiler-plugin: 2.3.2: compile (default-compile)


130

Maven eklentisi yüklü Maven 3.0.5 ve Spring Tool Source 3.2 kullanıyorum . 'Farklı Çalıştır -> Maven yüklemesi' yapmaya çalıştığımda şu hatayı alıyorum:

[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

Lütfen pom.xml dosyamın altında bulun:

<?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 kurulumu sırasında war:waramacım uygulamamın SAVAŞ olmasını sağlamak.



java 8 kullandığınızdan emin olun
Archmede

2
@EugeneHoza codehaus JIRA kapandı ve bağlantınız kesildi. Bağlantıların neden tek bilgi parçası olmaması gerektiğini şimdi anlıyor musunuz?
naXa

Bahar 2.2.7'den 2.3.1'e geçerken bu hatayı aldım
Ravi Parekh

Yanıtlar:


137

Dolu siliniyor .m2/repository yerel depoyu sorunumu çözdü.

Ya da, eklentilerden biri indirme sırasında bir sorun yaşadığından, bağımlılıkları ile tam olarak hangi eklentileri kullandığınızı bilmeniz gerekir.


2
Depo / org dizini tarafından sildim ve bundan sonra her şey
yolunda gitti

".M2 / Depomu" yeniden adlandırdım, en azından hata atmıyor .. bakalım.
InfantPro'Aravind '23

13
silme edilmelidir .m2/repositorysilmek kalmamak settings.xmliçinde .m2dir
Mike D

3
rm -rf rm -rf ~/.m2/repository/org/apache/benim için çalışıyor.
2016

@Wener'ın önerdiği gibi ~ / .m2 \ repository \ org \ apache \ maven klasörünü sildim ve benim için çalıştım.
Edu Costa

122

Tam .m2 yerel deposunu silmek de sorunumu çözdü.

Nerede olduğunu bilmiyorsanız, yerler şunlardır:

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'ta yazmanın %USERPROFILE%sizi .m2klasörün bulunduğu profil dizininize yönlendireceğini unutmayın .
MC İmparator

Bu sorunun neden olduğunu bilen var mı? Aynı sorunu yaşıyorum ve dizini siliyorum çözer.
emmmphd

@MCEmperor Teşekkürler! Onu sildi ve şimdi çalışıyor.
KİRLİ DAVE

48

@Rushi Shah tarafından çözüme daha fazla puan ekliyorum

mvn clean install -X temel nedeni belirlemeye yardımcı olur.

Maven derleme yaşam döngüsünün bazı önemli aşamaları şunlardır:

clean- proje, önceki derlemelerden gelen tüm yapılardan temizdir - compileproje, proje kökünün / hedef dizinine derlenir install- paketlenmiş arşiv yerel maven havuzuna kopyalanır (/.m2 altında kullanıcınızın ana dizininde olabilir) test- birim testleri Çalıştırmak package - derlenmiş kaynaklar arşive paketlenir (varsayılan olarak JAR)

1.6 under etiketi, JDK sürümünü ifade eder. Geliştirme ortamımızda uygun jdk sürümünün olmasını sağlamalıyız veya değeri 1.7 veya 1.5 olarak değiştirmeliyiz veya uygulama JDK sürümünde desteklenebiliyorsa.

<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 inşa yaşam döngüsü ile ilgili tüm ayrıntıları Maven sitesinde bulabiliriz.


29

Aynı sorunu yaşadım, Çalıştırma Yapılandırmanızda Maven tarafından kullanılan yüklü jre'yi kontrol edin ...

Sizin durumunuzda, maven-compiler-plugin: jar: 2.3.2'nin bir jdk1.6'ya ihtiyacı olduğunu düşünüyorum.

Bunu yapmak için: Yapılandırma> YOUR_MAVEN_BUILD> JRE> Alternatif JRE'yi çalıştırıngörüntü açıklamasını buraya girin

Bu yardımcı olur umarım.


1
Bu da benim için ben bu soruna neden ne aslında olduğunu düşünüyorum silme dosyalarına gerek çalıştı iyi çözümdür
Dunken

bunu dünyanın bilmesine izin vermelisin. çünkü windows-> tercihlerinde jre'yi jdk olarak ayarlasam bile çalışmıyor. ama cevabın işe yarıyor.
kutsal

21

Bazen projenin JDK'dan çok JRE'ye işaret etmesinden kaynaklanır.

1. Projeye sağ tıklayın -> Yol Oluştur -> Oluşturma Yolunu Yapılandır -> Kitaplık Ekle -> JRE Sistem Kitaplığı -> Ortamlar -> Yüklü JRE'ler -> c: sürücüsünde java klasörüne gelin (Windows ) ve JDK klasörünü seçin ve tamam.

2. Zaten mevcut olan JRE'yi yapı yolundan kaldırın.


Mükemmel çalıştı !! Güncelleme: Eclipse Java Oxygen'da, "Yüklenen JRE'ler" sayfasında, klasöre gitmeden önce "Ekle ..." seçeneğini tıklamanız gerekir
gotube

Evet, bu benim için de çalıştı. Mevcut JRE'yi kaldırıp tekrar eklemek için hızlı bir çözüm olduğunu düşünüyorum.
Nikhil Lotke

6

Genellikle maven-compiler-eklentisini tanımlamak yeterlidir. derleyici eklenti tanımınıza aşağıdakileri ekleyin.

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

Evet, pom.xml dosyama "<inherited> true </inherited>" i ekledim ve onu kaydettiğimde, şu istisnayı alıyorum: "Maven Bağımlılıklarını Güncelleme" sırasında bir dahili hata oluştu. org / apache / maven / shared / filtering / MavenFilteringException
Rushi Shah

8
Sonunda aşağıdaki komutu çalıştırarak çözümü aldım: mvn clean install -X. Bana temel nedeni verdi. Aslında JAVA_HOME'um JRE_HOME'u gösteriyordu ve maven-compiler-eklentisindeki derleyiciyi arıyordu, sadece JDK ile birlikte geliyordu. Böylece, JDK kurdum ve JAVA_HOME'umu güncelledim.
Rushi Shah

yardımcı olmuyor: [UYARI] Ortamdan "javac" kullanılarak "javac" yolu otomatik olarak belirlenemiyor.
MemLeak

5

Bazen bu sorun, POM.xml'de bahsettiğiniz java.version'ın makinenizde yüklü olmaması nedeniyle ortaya çıkar.

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

Makinenizde bulunan jdk ve jre sürümüyle pom.xml'nizde tam olarak aynı sürümü belirttiğinizden emin olun.


Teşekkürler… Bu Cevap bana, benim durumumda sorunun Java sürümüyle bir ilgisi olduğu fikrini verdi. MacOS'ta Java 9 ve Java 8 yüklü olduğu ortaya çıktı. Java 9 silindi, artık Maven iyi çalışıyor. Bkz benim Answer .
Basil Bourque

5

Bu sorunu bir kez yaşadım ve bu şekilde çözdüm:

  • Adım-1
    .m2 / havuz

  • Adım-2 maven komutunu (örneğin mvn clean verify) eclipse'den maven çalıştırmak yerine mevcut proje konumundaki (projenizin pom.xml dosyasının bulunduğu) terminalden çalıştırın.

  • Bu durumu daha da kötüleştirdi
    karlihnos

    2

    Aslında, yerel .m2 / deponuzu / ... silmek istemiyorsanız ve Apache'den indirilmiş bir Maven kopyasına sahipseniz, Eclipse / STS'nin bu harici Maven'i kullanmasını sağlayabilir ve {maven} \ localRepository'nizi yeni bir boş konuma yönlendirmek için conf \ settings.xml.

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

    Elbette, önceki .m2 konumunuza ek olarak tüm maven kaynak indirmelerini içeren yeni bir deponuz olacak.

    görüntü açıklamasını buraya girin


    2

    mülk endorsed.diretiketini kontrol edin pom.xml.
    Ben de bu sorunu yaşadım ve özelliği değiştirerek düzelttim.

    Misal:

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

    1
    • Merkezi deponuzdan maven derleyici eklenti kavanozunu indirin ve deneyin
    • Hala başarısız oluyorsa, jdk sürümünüzü kontrol edin, bunun nedeni uygulamanızın diff jdk sürümü üzerine kurulu olmasıdır.

    1

    Benim için Eclipse'i yeniden başlatmak bu hatayı ortadan kaldırdı!


    1

    Sanırım bu sorunu çözmenin iki yolu var

    01. Özellikleri Ayarla

    • Java Derleme Yolunu jdk olarak ayarlayın

    Sağ tıklayın proje -> Java Oluşturma Yolu -> Kitaplıklar sekmesini seçin -> JRE Sistem Kitaplığı'nı seçin -> Düzenle düğmesini tıklayın -> Yüklü JRE'ler'i tıklayın -> kutuya onay işareti ekleyin -> Düzenle'yi tıklayın -> Dizin'i tıklayın-> jdk'yi seçin

    • Hangi tür jdk sürümünü yüklediğinizi belirtin

    Projeye sağ tıklayın -> Proje Özellikleri -> java'yı işaretleyin ve java sürümü-> Uygula -> Tamam'ı seçin

    • Projeyi güncelle

    "Proje" ye sağ tıklayın -> Maven'e gidin-> Güncelle

    02. .m2 dosyasını sil

    Yukarıdaki iki konuyu kullanarak sorununuzu çözemezseniz, bu işlemi alın Projenizi kapatın. .M2 klasörünüzün tamamını silin

    .M2 dosyası nasıl para cezasına çarptırılır (Windows)

    Yerel Disk'e gidin (C) -> Kullanıcılar -> Bilgisayar adınızı seçin ->. M2 dosyası


    1

    Java 9 uyumsuz

    mvn installBir projeyi aramaya çalışırken bu hatayı aldım .

    Java 9'u macOS'a ve Java 8 Güncelleme 144'e yükledim. Maven projem görünüşte Java 9'u çalıştırıyor ve başarısız oluyordu. Java 9'u Mac'imden kaldırarak yalnızca Java 8'i yerinde bıraktım. Maven şimdi projemi başarıyla tamamlamak için mutlu bir şekilde inşa ediyor.

    MacOS Sierra'da Apache Maven 3.5.0'ı kullanma.


    0

    Belki bu bağımlılığı pom.xml dosyanıza ekleyebilirsiniz. Bu yöntemi kullanıyorum ve sorunu çözüyorum!

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

    0

    Mac işletim sistemindeki yeni kullanıcılar için .m2 klasörünü bulun ve silin, /Users/.m2 dizininizdedir.

    bulucuda (Dosya Gezgini) .m2 klasörünü göremezsiniz , bu kullanıcı için bu komut Mac gizli dosyalarını göster

    $ varsayılanlar com.apple.finder AppleShowAllFiles TRUE yaz

    bundan sonra alt tuşuna basın ve finder-> yeniden başlat'a tıklayın, /Users/.m2'yi görebilirsiniz .

    dosyaları tekrar gizlemek için bu $ varsayılanları kullanın com.apple.finder yazın AppleShowAllFiles false


    0

    .M2 dizinini yeniden adlandırdım, bu henüz yardımcı olmadı, bu yüzden en yeni sdk / jdk'yi yükledim ve tutulmayı yeniden başlattım. Bu işe yaradı.

    Görünüşe göre bir SDK gerekliydi ve ben sadece bir JRE kurmuştum.

    Bu garip çünkü Eclipse, farklı bir eski proje için aynı makinede çalışıyordu.

    İkinci bir maven projesini içe aktardım ve Run / maven yüklemesi yalnızca tutulmayı yeniden başlattıktan sonra tamamlandı. Yani belki de tutulmanın yeniden başlatılması gerekliydi.

    Başka bir projeyi içe aktarıyorum ve maven installtutulmayı yeniden başlatmış olmama rağmen işe yaramadan önce iki kez yapmak zorunda kaldım.


    0

    .M2 / depo içeriğini tamamen silmeye mecbur olmak gerçekten inanılmaz. Bu komutu yazmanızı öneririm (Windows'ta):

    mvn temiz

    mvn -X paketi> my_log_file.log

    Son komut Hata Ayıklama seçeneğini etkinleştirir ve çıktıyı bir dosyaya yönlendirir. Dosyayı açın ve ERROR veya WARNING anahtar sözcüklerini arayın. Bu tür ifadeleri bulabilirsin:

    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

    Bu durumda sadece C: \ Users \ vifie.m2 \ repository \ net \ java \ jvnet-parent \ 3 dizinini silmeniz gerektiğini anlamanız yeterli.

    Derlemeyi, paketlemeyi ve benzerlerini yeniden başlatın:

    mvn paketi

    UYARI, iyi bir konumda bozuk olan POM dosyasını sildiğiniz ve onu yeniden indirdiğiniz için kaybolur. Normalde yeni POM dosyası daha iyidir.

    Genellikle hata ayıklama modu size daha kapsamlı ayrıntılar içeren mesajlar verir.

    Günlüğü neden bir dosyaya yeniden yönlendiriyorum: Bunun nedeni, Windows konsolunda tüm satırları depolamak için yeterli arabelleğe sahip olmaması ve çoğu zaman tüm satırları görememenizdir.


    0

    Şimdiye kadar listelenen her şeyi denedik ve hala başarısız oldu. Hatadan da bahsedildi

    (default-war) proje utils Java: WAR derleme hatası: webxml özniteliği gerekli

    Sonunda düzelten çözüm, bunu POM'a eklemekti:

    <failOnMissingWebXml>false</failOnMissingWebXml>

    Burada belirtildiği gibi WAR'ı derlerken hata - webxml niteliği gereklidir

    POM'umuz artık şunları içerir:

    <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

    Aşağıdaki kodu pom.xml'den kaldırın veya çalışması için java sürümünüzü düzeltin.

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

    -2

    aynı sorunu yaşadım ve yukarıdaki gönderilerin yapılandırmalarının yanı sıra

                <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'deki eklentiler öğesinde. Sanırım sorun benimki gibi bazı durumlarda yürütmenin olmaması -> hedef "endpoints_get_discovery_doc" , bu yüzden bu benim için çalıştı.


    Bu kod parçacığı soruyu çözebilirken, bir açıklama eklemek, yayınınızın kalitesini iyileştirmeye gerçekten yardımcı olur. Gelecekte okuyucular için soruyu yanıtladığınızı ve bu kişilerin kod önerinizin nedenlerini bilmeyebileceklerini unutmayın.
    yennsarah

    @Amy teşekkürler, bahşiş için açıklamaya çalıştım ve umarım başardım.
    MRTC
    Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
    Licensed under cc by-sa 3.0 with attribution required.