maven 问题

Posted 要千

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了maven 问题相关的知识,希望对你有一定的参考价值。

  问题1:  建立好一个Maven项目后,如果Java Resources资源文件下没有src/main/java文件夹,并且在手动创建这个文件时提示“已存在文件”。 这说明,在这个项目配置中已经有了src/main/java这个文件夹
或者是maven目录以级联显示,而不是source package模式(src/main/java)形式显示 buildpath则显示 no actions available
   第一种方法: 打开项目的classpath文件:如下         <?xml version= "1.0" encoding= "UTF-8"?>
<classpath>
    <classpathentry kind= "src" output= "target/test-classes" path= "src/test/java">
        < attributes>
            <attribute  name= "optional"  value= "true"/>
            <attribute  name= "maven.pomderived"  value= "true"/>
        </ attributes>
    </classpathentry>
    <classpathentry kind= "src" path= "src/main/java"/>
    <classpathentry kind= "src" path= "src/main/resources"/>
    <classpathentry kind= "src" output= "target/test-classes" path= "src/test/resources"/>
    <classpathentry kind= "con" path= "org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
        < attributes>
            <attribute  name= "maven.pomderived"  value= "true"/>
            <attribute  name= "org.eclipse.jst.component.dependency"  value= "/WEB-INF/lib"/>
        </ attributes>
    </classpathentry>
    <classpathentry kind= "con" path= "org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6">
        < attributes>
            <attribute  name= "owner.project.facets"  value= "java"/>
        </ attributes>
    </classpathentry>
    <classpathentry kind= "output" path= "target/classes"/>
</classpath>
    会出现path属性为:src/main/java的classpathentry节点,这时删除我们需要新建的的节点就可以,比如  <classpathentry kind= "src"  path= "src/main/java" /> 。在Java Resources下重新建立src/main/java文件夹,就不会出现问题了。
    第二种方法:这是最便利的一种。在项目上右键选择properties,然后点击java build path,在Librarys下,编辑JRE System Library,选择workspace default jre就可以了。
问题2:在POM配置Maven plugin提示错误“Plugin execution not covered by lifecycle configuration”的解决方案

eclipse在其POM文件的一处提示出错如下:

Plugin execution not covered by lifecycle configuration: org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (execution: default-compile, phase: compile)

 

这表示m2e在其执行maven的生命周期管理时没有定义该插件,所以提示出错,其实m2e对此是提供了扩展机制的,我们可以通过如下操作来消除这个出错提示:

1. 进入Window—>Preferences—>Maven配置,进入Lifecycle Mapping设置项,如下图:

   

   从上图可以看出m2e管理maven生命周期的文件名是lifecycle-mapping-metadata.xml,以及该文件的存放路径

2. 下一步我们就要去相应路径修改lifecycle-mapping-metadata.xml文件,但会发现这个文件在上图中提示的位置并不存在,那么此时就

以到eclipse的安装目录下的plugins下的org.eclipse.m2e.lifecyclemapping.defaults_xxxxxx.jar文件中找到该文件(如下图):

 

通过解压软件可以发现lifecycle-mapping-metadata.xml文件的确在jar包中,把它从jar包中解压出来并放置到前图所示的路径下

3. 打开lifecycle-mapping-metadata.xml文件,把未识别的插件在文件中加入即可:

 

4.修改完成后,需在m2e配置处把“Update Maven projects on startup”选项勾上,并重启eclipse即可消除出错示。


在POM配置Maven plugin提示错误“Plugin execution not covered by lifecycle configurat







在POM配置Maven plugin提示错误“Plugin execution not covered by lifecy

以上是关于maven 问题的主要内容,如果未能解决你的问题,请参考以下文章

关于maven的问题,不知道为啥Eclipse导入maven工程以后报错

maven的使用问题,新手求助

maven编译时出现问题

Maven安装配置以及maven项目创建

解决Maven相关创建出错问题

maven打包版本号问题