我已经创建了一个maven项目,并希望将java编译器版本更改为1.6,所以我添加了ff:
<build>
<plugins>
<plugin>
<artifactId>org.apache.maven.plugins</artifactId>
<groupId>maven-compiler-plugin</groupId>
<version>2.3.2</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
</plugins>
</build>
当我在eclipse中运行任何maven目标时,它都有效。但是当我在终端运行时,我得到了ff错误:
Project ID: maven-compiler-plugin:org.apache.maven.plugins
Reason: POM 'maven-compiler-plugin:org.apache.maven.plugins' not found in repository: Unable to download the artifact from any repository
maven-compiler-plugin:org.apache.maven.plugins:pom:2.3.2
from the specified remote repositories:
central (http://repo1.maven.org/maven2),
apache.repo (https://repository.apache.org/content/repositories/releases),
jboss.repo.deprecated (https://repository.jboss.org/nexus/content/repositories/deprecated),
知道是什么导致了这个问题吗?
我能够通过更新到maven3来解决这个问题。但我现在的问题是虽然我将maven-compiler-plugin版本指定为2.4,但我仍然在日志中看到2.3.2。
答案 0 :(得分:3)
您的groupId和artifactId是相反的。
答案 1 :(得分:2)
如果Eclipse和命令行创建不同的结果,那么它们使用不同的本地Maven存储库。默认值为$HOME/.m2/repository/
。因此,第一步是找出哪一个(命令行或Eclipse)使用不同的本地缓存及其原因。
下一个问题是下载失败的原因。通常的原因是Maven尝试下载并出错。 Maven会记住错误而不是再试一次。要强制它再次尝试,您必须删除文件夹$M2_REPO/repository/org/apache/maven/plugins/maven-compiler-plugin/2.3.2/
。
最后,当您配置2.4但在日志中看到2.3.2时,您要么构建构建中某个POM的错误项目,请覆盖编译器插件的版本。
要避免这样的问题,请使用父POM,其中保留dependencyManagement
(对于依赖项)和pluginManagement
(对于插件)元素的所有版本。这样,您将永远不必在模块POM或从其继承的其他项目中定义版本。
答案 2 :(得分:0)
从存储库安装maven 3并在/ etc / environment中添加了maven3 home后,我忘了做的就是重新启动我的机器,之后它就可以了。
我的/ etc / environment现在看起来像:
M3_HOME="/home/edward/java/apache/maven-3.0.4"
MAVEN_HOME="/home/edward/java/apache/maven-3.0.4"
M3="home/edward/java/apache/maven-3.0.4"
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/edward/java/apache/maven-3.0.4"
以下是我卸载和安装maven 3的方法: http://czetsuya-tech.blogspot.com/2012/05/how-to-install-maven-3-in-ubuntu-1110.html