无法执行目标org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile(默认编译)


130

我正在使用Maven 3.0.5和安装了Maven插件的Spring Tool Source 3.2。当我尝试执行“ Run As ---> Maven install”时,出现以下错误:

[INFO] Scanning for projects...
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building Spring Social Twitter4J Sample 1.0.0
[INFO] ------------------------------------------------------------------------
[WARNING] The POM for org.apache.maven.plugins:maven-compiler-plugin:jar:2.3.2 is invalid, transitive dependencies (if any) will not be available, enable debug logging for more details
[WARNING] The POM for org.apache.maven.plugins:maven-war-plugin:jar:2.1.1 is invalid, transitive dependencies (if any) will not be available, enable debug logging for more details
[WARNING] The POM for org.apache.maven.plugins:maven-install-plugin:jar:2.3.1 is invalid, transitive dependencies (if any) will not be available, enable debug logging for more details
[INFO] 
[INFO] --- maven-resources-plugin:2.5:resources (default-resources) @ spring-social-twitter4j ---
[debug] execute contextualize
[WARNING] Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] Copying 15 resources
[INFO] 
[INFO] --- maven-compiler-plugin:2.3.2:compile (default-compile) @ spring-social-twitter4j ---
[WARNING] The POM for org.apache.maven.plugins:maven-compiler-plugin:jar:2.3.2 is invalid, transitive dependencies (if any) will not be available, enable debug logging for more details
Jun 21, 2013 2:14:32 AM org.sonatype.guice.bean.reflect.Logs$JULSink warn
WARNING: Error injecting: org.apache.maven.plugin.CompilerMojo
**java.lang.NoClassDefFoundError: org/codehaus/plexus/compiler/CompilerException**
    at java.lang.Class.getDeclaredConstructors0(Native Method)
    at java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
    at java.lang.Class.getDeclaredConstructors(Unknown Source)
    at com.google.inject.spi.InjectionPoint.forConstructorOf(InjectionPoint.java:245)
    at com.google.inject.internal.ConstructorBindingImpl.create(ConstructorBindingImpl.java:98)
    at com.google.inject.internal.InjectorImpl.createUninitializedBinding(InjectorImpl.java:629)
    at com.google.inject.internal.InjectorImpl.createJustInTimeBinding(InjectorImpl.java:831)
    at com.google.inject.internal.InjectorImpl.createJustInTimeBindingRecursive(InjectorImpl.java:758)
    at com.google.inject.internal.InjectorImpl.getJustInTimeBinding(InjectorImpl.java:255)
    at com.google.inject.internal.InjectorImpl.getBindingOrThrow(InjectorImpl.java:204)
    at com.google.inject.internal.InjectorImpl.getProviderOrThrow(InjectorImpl.java:954)
    at com.google.inject.internal.InjectorImpl.getProvider(InjectorImpl.java:987)
    at com.google.inject.internal.InjectorImpl.getProvider(InjectorImpl.java:950)
    at com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1000)
    at org.sonatype.guice.bean.reflect.AbstractDeferredClass.get(AbstractDeferredClass.java:45)
    at com.google.inject.internal.ProviderInternalFactory.provision(ProviderInternalFactory.java:84)
    at com.google.inject.internal.InternalFactoryToInitializableAdapter.provision(InternalFactoryToInitializableAdapter.java:52)
    at com.google.inject.internal.ProviderInternalFactory$1.call(ProviderInternalFactory.java:70)
    at com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:100)
    at org.sonatype.guice.plexus.lifecycles.PlexusLifecycleManager.onProvision(PlexusLifecycleManager.java:138)
    at com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:108)
    at com.google.inject.internal.ProvisionListenerStackCallback.provision(ProvisionListenerStackCallback.java:55)
    at com.google.inject.internal.ProviderInternalFactory.circularGet(ProviderInternalFactory.java:68)
    at com.google.inject.internal.InternalFactoryToInitializableAdapter.get(InternalFactoryToInitializableAdapter.java:45)
    at com.google.inject.internal.InjectorImpl$3$1.call(InjectorImpl.java:965)
    at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1011)
    at com.google.inject.internal.InjectorImpl$3.get(InjectorImpl.java:961)
    at com.google.inject.Scopes$1$1.get(Scopes.java:59)
    at org.sonatype.guice.bean.locators.LazyBeanEntry.getValue(LazyBeanEntry.java:83)
    at org.sonatype.guice.plexus.locators.LazyPlexusBean.getValue(LazyPlexusBean.java:49)
    at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:253)
    at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:245)
    at org.apache.maven.plugin.internal.DefaultMavenPluginManager.getConfiguredMojo(DefaultMavenPluginManager.java:455)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:92)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320)
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
    at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)
    at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)
    at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)
Caused by: java.lang.ClassNotFoundException: org.codehaus.plexus.compiler.CompilerException
    at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:50)
    at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:244)
    at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:230)
    ... 54 more

[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.749s
[INFO] Finished at: Fri Jun 21 02:14:32 IST 2013
[INFO] Final Memory: 4M/15M
[INFO] ------------------------------------------------------------------------
**[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile (default-compile) on project spring-social-twitter4j: Execution default-compile of goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile failed: A required class was missing while executing org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile: org/codehaus/plexus/compiler/CompilerException**
[ERROR] -----------------------------------------------------
[ERROR] realm =    plugin>org.apache.maven.plugins:maven-compiler-plugin:2.3.2
[ERROR] strategy = org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy
[ERROR] urls[0] = file:/C:/Users/SS%20Computer/.m2/repository/org/apache/maven/plugins/maven-compiler-plugin/2.3.2/maven-compiler-plugin-2.3.2.jar
[ERROR] urls[1] = file:/C:/Users/SS%20Computer/.m2/repository/org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.jar
[ERROR] Number of foreign imports: 1
[ERROR] import: Entry[import  from realm ClassRealm[maven.api, parent: null]]
[ERROR] 
[ERROR] -----------------------------------------------------: org.codehaus.plexus.compiler.CompilerException
[ERROR] -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginContainerException

请在下面找到我的pom.xml:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>org.springframework.social.samples</groupId>
    <artifactId>spring-social-twitter4j</artifactId>
    <name>Spring Social Twitter4J Sample</name>
    <packaging>war</packaging>
    <version>1.0.0</version>
    <properties>
        <java-version>1.6</java-version>
        <org.springframework.social-version>1.1.0.BUILD-SNAPSHOT</org.springframework.social-version>
        <org.springframework-version>3.2.1.RELEASE</org.springframework-version>
        <org.springframework.security-version>3.1.3.RELEASE</org.springframework.security-version>
        <org.slf4j-version>1.7.2</org.slf4j-version>
    </properties>
    <dependencies>
        <!-- Spring -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>${org.springframework-version}</version>
            <exclusions>
                <!-- Exclude Commons Logging in favor of SLF4j -->
                <exclusion>
                    <groupId>commons-logging</groupId>
                    <artifactId>commons-logging</artifactId>
                 </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>${org.springframework-version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jdbc</artifactId>
            <version>${org.springframework-version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-tx</artifactId>
            <version>${org.springframework-version}</version>
        </dependency>               
        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-web</artifactId>
            <version>${org.springframework.security-version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-taglibs</artifactId>
            <version>${org.springframework.security-version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-config</artifactId>
            <version>${org.springframework.security-version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.social</groupId>
            <artifactId>spring-social-core</artifactId>
            <version>${org.springframework.social-version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.social</groupId>
            <artifactId>spring-social-web</artifactId>
            <version>${org.springframework.social-version}</version>
        </dependency>

        <!-- Twitter4J -->
        <dependency>
            <groupId>org.twitter4j</groupId>
            <artifactId>twitter4j-core</artifactId>
            <version>2.2.3</version>
        </dependency>

        <!-- JSR 303 with Hibernate Validator -->
        <dependency>
            <groupId>javax.validation</groupId>
            <artifactId>validation-api</artifactId>
            <version>1.0.0.GA</version>
        </dependency>
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-validator</artifactId>
            <version>4.1.0.Final</version>
        </dependency>

        <!-- Logging -->
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>${org.slf4j-version}</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>jcl-over-slf4j</artifactId>
            <version>${org.slf4j-version}</version>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>${org.slf4j-version}</version>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.16</version>
            <scope>runtime</scope>
        </dependency>

        <dependency>
            <groupId>com.h2database</groupId>
            <artifactId>h2</artifactId>
            <version>1.3.159</version>
        </dependency>

        <!-- @Inject -->
        <dependency>
            <groupId>javax.inject</groupId>
            <artifactId>javax.inject</artifactId>
            <version>1</version>
        </dependency>

        <!-- CGLIB, only required and used for @Configuration usage -->
        <dependency>
            <groupId>cglib</groupId>
            <artifactId>cglib-nodep</artifactId>
            <version>2.2</version>
        </dependency>

        <!-- Servlet -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
            <version>2.5</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>javax.servlet.jsp</groupId>
            <artifactId>jsp-api</artifactId>
            <version>2.1</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>javax.servlet.jsp.jstl</groupId>
            <artifactId>jstl-api</artifactId>
            <version>1.2</version>
        </dependency>
        <dependency>
            <groupId>org.glassfish.web</groupId>
            <artifactId>jstl-impl</artifactId>
            <version>1.2</version>
        </dependency>
    </dependencies>
    <repositories>
        <repository>
            <id>org.springframework.maven.release</id>
            <name>Spring Maven Release Repository</name>
            <url>http://maven.springframework.org/release</url>
            <releases><enabled>true</enabled></releases>
            <snapshots><enabled>false</enabled></snapshots>
        </repository>
        <!-- For testing against latest Spring snapshots -->
        <repository>
            <id>org.springframework.maven.snapshot</id>
            <name>Spring Maven Snapshot Repository</name>
            <url>http://maven.springframework.org/snapshot</url>
            <releases><enabled>false</enabled></releases>
            <snapshots><enabled>true</enabled></snapshots>
        </repository>
        <!-- For developing against latest Spring milestones -->
        <repository>
            <id>org.springframework.maven.milestone</id>
            <name>Spring Maven Milestone Repository</name>
            <url>http://maven.springframework.org/milestone</url>
            <snapshots><enabled>false</enabled></snapshots>
        </repository>
    </repositories>
    <build>
        <resources>
            <resource>
                <directory>src/main/java</directory>
            </resource>
        </resources>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.3.2</version>                
                <configuration>
                    <source>${java-version}</source>
                    <target>${java-version}</target>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <version>2.1.1</version>
                <configuration>
                    <warName>spring-social-twitter4j</warName>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>tomcat-maven-plugin</artifactId>
                <version>1.1</version>
            </plugin>
        </plugins>
    </build>
</project>

在maven安装过程中,我的目标是war:war对应用程序进行WAR。



确保您使用的是Java 8
Archmede

2
@EugeneHoza codehaus JIRA已关闭,您的链接已死。您现在知道为什么链接永远都不应该是唯一的信息吗?
naXa

从Spring 2.2.7迁移到2.3.1时出现此错误
Ravi Parekh

Answers:


135

删除完整的.m2/repository本地存储库解决了我的问题。

否则,您需要知道您正在使用哪些插件以及它们的依赖关系,因为其中一个插件在下载时遇到了问题。


2
我删除了repository / org目录,之后一切正常
dannrob

我重命名了“ .M2 / Repository”,它至少不会引发错误。
InfantPro'Aravind'

13
应该删除,.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 Emperor

有人知道为什么会发生此问题吗?我有同样的问题,删除目录即可解决。
emmmphd

@MCEmperor谢谢!发现它已将其删除,并且现在可以使用。
DIRTY DAVE

48

我在@Rushi Shah的解决方案中添加更多点

mvn clean install -X 帮助确定根本原因。

Maven构建生命周期的一些重要阶段包括:

clean–项目清除了先前编译产生的所有工件 compile–项目被编译到项目根目录的/ target目录中 install–打包的归档文件被复制到本地maven存储库中(可以在用户主目录中的/.m2下) test–单元测试是运行 package–已编译的源文件打包到归档文件中(默认为JAR)

under标签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
这是最好的解决方案,对我也
有用,

您必须让全世界知道这一点。因为即使我在Windows->首选项中将jre设置为jdk,它也无法正常工作。但您的答案有效。
神2015年

20

有时是由于项目指向JRE而不是JDK所致。请尝试一下,

1.右键单击项目->构建路径->配置构建路径->添加库-> JRE系统库->环境->已安装的JRE->指向c:驱动器中的java文件夹(Windows ),然后选择JDK文件夹,然后单击确定。

2.从构建路径中删除已经存在的JRE。


工作完美!更新:在Eclipse Java Oxygen中,在“已安装的JRE”页面上,您必须单击“添加...”,然后指向该文件夹
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
Rushi 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不是您的计算机中安装的java.version。

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

确保在pom.xml中准确提及与计算机中存在的jdk和jre版本相同的版本。


谢谢……这个答案使我想到,就我而言,问题与Java版本有关。原来我在macOS上安装了Java 9和Java 8。删除了Java 9,现在Maven运行良好。看到我的答案
罗勒·布尔克

5

我曾经遇到过这个问题,这就是我的解决方法:

  • 步骤1清洁
    .m2 /存储库

  • 步骤2 mvn clean verify从终端在当前项目位置(项目的pom.xml文件所在的位置)执行maven命令(例如),而不是从eclipse运行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

    对我来说,重新启动Eclipse摆脱了这个错误!


    1

    我认为您有两种方法可以解决此问题

    01.设置属性

    • 将Java构建路径设置为jdk

    右键单击项目-> Java Build Path->选择库选项卡->选择JRE系统库->单击“编辑”按钮->单击“已安装的JRE”->在框上添加勾号->单击“编辑”->单击目录->选择jdk

    • 指定您安装的是哪种JDK版本

    右键单击项目->项目构面->勾选Java,然后选择Java版本->应用->确定

    • 更新专案

    右键单击“项目”->转到Maven->更新

    02.删除.m2文件

    如果使用以上两个主题无法解决问题,请执行此操作。关闭您的项目。删除您的完整.m2文件夹

    如何罚款.m2文件(Windows)

    转到本地磁盘(C)->用户->选择您的PC名称->。m2文件


    1

    Java 9不兼容

    尝试调用mvn install项目时出现此错误。

    我已经在macOS和Java 8 Update 144上安装了Java9。我的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目录中。

    您将不会在finder(文件资源管理器)中看到.m2文件夹,对于此用户,此命令将显示Mac隐藏文件

    $默认写入com.apple.finder AppleShowAllFiles TRUE

    在按alt并单击finder->重新启动后,您可以看到/Users/.m2

    要再次隐藏文件,只需使用此 $默认值,写com.apple.finder AppleShowAllFiles false


    0

    我重命名了.m2目录,这仍然没有帮助,所以我安装了最新的sdk / jdk并重新启动了eclipse。这工作了。

    似乎需要一个SDK,而我只安装了一个JRE。

    这很奇怪,因为eclipse在同一台机器上为另一个较旧的项目工作。

    我导入了第二个maven项目,并且仅在重新启动eclipse之后才完成Run / maven安装。因此也许只需要重启蚀。

    导入另一个项目,maven install即使我重新启动了eclipse ,也必须做两次才能生效。


    0

    强制删除整个.m2 /存储库内容真是不可思议。我建议键入以下命令(在Windows上):

    MVN清洁

    mvn -X软件包> my_log_file.log

    最后一个命令启用Debug选项,然后将输出重定向到文件。打开文件并搜索错误或警告关键字。您可以找到这种表达方式:

    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

    我们尝试了到目前为止列出的所有内容,但仍然失败。错误也提到

    (utils)项目上的(default-war)Java:组装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 '16

    @艾米感谢小费,我试图解释一下,希望我能成功。
    MRTC '16
    By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
    Licensed under cc by-sa 3.0 with attribution required.