Maven错误解决记录

Maven错误解决记录

一、报错:web.xml is missing and is set to true

创建maven项目时,如果packaging标签选择的是war是,则会报web.xml is missing and is set to true
这里写图片描述
解决办法:

  • 选中项目,单击鼠标右键,选择>Java EE Tools>Generate Deployment Descriptor Stub,该操作会自动在maven项目的main文件夹下创建webapp>WEB-INF>web.xml文件。eclipse检查到web.xml文件就不会报错。
  • 如果没有Java EE Tools选项,可选择maven->update project之后再按上步完成。

二、 问题:JRE System Librar版本被还原

修改maven项目应用的JRE System Library后,如果对项目选择Maven>Update Project..后,修改过的JRE System Librar会被还原。
解决办法:
1.修改maven的setting.xml文件(此种方法会导致所有依赖此仓库的项目的jre的都会改变)

    <profile>     
        <id>jdk1.7id>      
        <activation>     
            <activeByDefault>trueactiveByDefault>      
            <jdk>1.7jdk>     
        activation>      
        <properties>     
            <maven.compiler.source>1.7maven.compiler.source>      
            <maven.compiler.target>1.7maven.compiler.target>      
            <maven.compiler.compilerVersion>1.7maven.compiler.compilerVersion>     
        properties>     
    profile>    

2.修该maven项目对应的pom.xml文件

<build>  
    <defaultGoal>compiledefaultGoal>  
      
    <plugins>  
        <plugin>  
            <groupId>org.apache.maven.pluginsgroupId>  
            <artifactId>maven-compiler-pluginartifactId>  
            <configuration>  
                <source>1.7source>  
                <target>1.7target>  
            configuration>  
        plugin>  
    plugins>  
      
build>  

三、报错: Cannot change version of project facet Dynamic web module to 2.5

我们用Eclipse创建Maven结构的web项目的时候选择了Artifact Id为maven-artchetype-webapp,由于这个catalog比较老,用的servlet还是2.3的,而一般现在至少都是2.5,在Project Facets里面修改Dynamic web module为2.5的时候就会出现Cannot change version of project facet Dynamic web module to 2.5

解决方法一:可参考这里写链接内容的文章。
解决方法二:将web.xml中的版本号改成2.5后,手动删除项目文件中的.setting文件夹,右键单击项目,选择maven>update project..

你可能感兴趣的:(maven,Maven)