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即可消除出错示。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值