Maven项目进行update project时出现Could not calculate build plan错误

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Maven项目进行update project时出现Could not calculate build plan错误相关的知识,希望对你有一定的参考价值。

Could not calculate build plan: Plugin org.apache.maven.plugins:maven-resources-plugin:2.6 or one of its dependencies could not be resolved: Failed to read artifact descriptor for org.apache.maven.plugins:maven-resources-plugin:jar:2.6
Plugin org.apache.maven.plugins:maven-resources-plugin:2.6 or one of its dependencies could not be resolved: Failed to read artifact descriptor for org.apache.maven.plugins:maven-resources-plugin:jar:2.6

解决办法:

1、更换镜像:

<pom><!--…………-->;

<url>http://maven.aliyun.com/nexus/content/groups/public/</url><!--…………--></pom>。

2、force强制更新:

删除本地.m2仓库中 org.apache.maven.plugins:maven-resources-plugin所在目录;

然后右击项目 Maven->Update Project->勾选 Force Update of Snapshots/Releases。

1、ant脚本是可以直接运行在maven中的。maven和ant最大的差别就是在于maven的编译以及所有的脚本都有一个基础,就是POM(project object model)。这个模型定义了项目的方方面面,然后各式各样的脚本在这个模型上工作,而ant完全是自己定义,显然maven更胜一筹。

2、Maven对所依赖的包有明确的定义,如使用那个包,版本是多少,一目了然。而ant则通常是简单的inclde 所有的jar。导致的最终结果就是,你根本无法确定JBoss中的lib下的common-logging 是哪个版本的,唯一的方法就是打开 META-INF 目录下MANIFEST.MF。估计JBoss迟早会转向Maven的。

3、Maven是基于中央仓库的编译,即把编译所需要的资源放在一个中央仓库里,如jar,tld,pom,等。当编译的时候,maven会自动在仓库中找到相应的包,如果本地仓库没有,则从设定好的远程仓库中下载到本地。这一切都是自动的,而ant需要自己定义了。这个好处导致的结果就是,用maven编译的项目在发布的时候只需要发布源码,小得很,而反之,ant的发布则要把所有的包一起发布,显然maven又胜了一筹。

4、maven有大量的重用脚本可以利用,如生成网站,生成javadoc,sourcecode reference,等。而ant都需要自己去写。试试 maven site 的效果。

参考技术A Plugin org.apache.maven.plugins:maven-resources-plugin:2.6这个插件的部分依赖包无法被下载追问

如何解决??

追答

网络不好么?或者搭建私服,或者配置maven仓库中国镜像地址

本回答被提问者和网友采纳

解决maven项目update project会更改jdk版本问题

一、问题描述 

            在Eclipse中新建了一个Maven工程, 然后更改JDK版本为1.6, 结果每次使用Maven > Update project的时候JDK版本都恢复成1.5。
 

二、原因分析

          Maven官方文档有如下描述:

 

编译器插件用来编译项目的源文件.从3.0版本开始, 用来编译Java源文件的默认编译器是javax.tools.JavaCompiler (如果你是用的是java 1.6) . 如果你想强制性的让插件使用javac,你必须配置插件选项 forceJavacCompilerUse. 
 同时需要注意的是目前source选项和target 选项的默认设置都是1.5, 与运行Maven时的JDK版本无关.如果你想要改变这些默认设置, 可以参考 Setting the -source and -target of the Java Compiler中的描述来设置 source 和target 选项.

          这是Maven已知的一个特性。除非在你的POM文件中显示的指定一个版本,否则会使用编译器默认的source/target版本1.5。主要还是在于Eclipse中Maven的集成方式起到了关键作用, 它会从POM文件中生成项目的.project,.classpath以及.settings, 因此除非POM文件指定了正确的JDK版本, 否则你每次更新项目配置的时候它都会重置到1.5版本。 

 

三、解决方案

          在pom.xml文件中增加如下配置:   

 

<build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.1</version>
        <configuration>
          <source>1.6</source>
          <target>1.6</target>
        </configuration>
      </plugin>
    </plugins>
</build>

四、参考资料

          http://maven.apache.org/plugins/maven-compiler-plugin/index.html

          Maven Change default source level to 1.5 这个Jira.

以上是关于Maven项目进行update project时出现Could not calculate build plan错误的主要内容,如果未能解决你的问题,请参考以下文章

解决 Maven项目进行编译( mvn compile )时出现的错误

解决maven项目update project会更改jdk版本问题

Maven项目Update Project自动恢复为JRE1.5的问题

MyEclipse创建Maven项目问题, problem Occurred:Updating maven projects has encountered a problem.

eclipse导入的maven项目中xml文件报错,点击updating project失败怎么办?求大牛救助

解决Maven的Could not update project XXX configuration NullPointerException 错误