MAVEN项目移植常见报错解决方案

前言

      平时工作中经常项目倒腾来倒腾去的,一个项目在公司电脑上没点事,拿到自己的电脑上就一堆的错,这种情况在MAVNE项目上尤为严重。现在记录一些自己移植项目遇到的常见的错误,与解决方案。以自己写的单点登录项目为例。在家里用自己的电脑把在公司的时候上传的单点登录项目Demo下载下来,默认是装好MAVEN了的,如果没装,没必要继续看下去了。

问题与解决

      直接在eclipse里面导入maven项目。导入完后你会发现报一大堆错。如下图所示。

初略的瞄一下,主要为六个错误。都是因果关系。解决主要的错误其余的就全解决了。

1、Cannot change version of project facet Dynamic Web Module to 3.0.   

2、JavaServer Faces 2.2 can not be installed : One or more constraints have not been satisfied. 

3、JavaServer Faces 2.2 requires Dynamic Web Module 2.5 or newer. 

4、JAX-RS (REST Web Services) 2.0 can not be installed : One or more constraints have not been satisfied.  

5、JAX-RS (REST Web Services) 2.0 requires Java 1.6 or newer. 

6、One or more constraints have not been satisfied.

其实用久了话发现大部分错误都很熟悉。

Cannot change version of project facet Dynamic Web Module to 3.0.

大概意思是没法改变项目的web模块的版本到3.0,因为你现在项目的web版本并不是3.0的,但是你在web.xml里面设置的是3.0。你可以打开你项目的web.xml进行检测。如下图


然后,项目右键->Propreties->Maven->Project Facets 你会看到如下页面。能看到当前项目的web版本和jdk版本。


我们需要的就是把 2.3给改成3.0或者改web.xml里面的配置。对于一个已经写好的项目来说,一般来说是改当前项目的project Facets的配置而不是web.xml里面的配置,因为web.xml的更改可能导致出现其他问题。

大部分时候,如果你直接在上面的界面改版本号的话会发现无法应用,会提示错误。如下图


所以只能用一种简单粗暴的方式来改了。

找到当前项目的.settings文件夹,更改以下三个文件。如下图

org.eclipse.jdt.core.prefs 修改如下(不同的web版对jdk版本有限制

org.eclipse.wst.common.component 修改如下


org.eclipse.wst.common.project.facet.core.xml 修改如下


我这儿是jdk改成了1.8,动态web版本改成3.0的。这一系列改完在打开project Facets如下图,此时已经改完了。


      然后 右键项目 > Maven > Update Project。这个时候会发现报错的少了很多,而且出现了不一样的。如下图。

接着继续改:

       Dynamic Web Module 3.0 requires Java 1.6 or newer.  这个错是指使用动态web模块3.0的话至少需要的jdk版本是1.6或者以上的版本。

        首先是确认当前项目的jdk版本,可以右键项目->Build Path->Configure Build Path,按下图顺序设置jdk版本,需要与前面里面设置的Project Facets设置的一样。


最后在pom.xml里面添加下面的代码限定jdk版本,需要与前面设置的一样。

<profiles>  
    <profile>  
        <id>jdk-1.8</id>  
        <activation>  
            <activeByDefault>true</activeByDefault>  
            <jdk>1.8</jdk>  
        </activation>  
        <properties>  
            <maven.compiler.source>1.8</maven.compiler.source>  
            <maven.compiler.target>1.8</maven.compiler.target>  
            <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>  
        </properties>  
    </profile>  
 </profiles>

然后 右键项目 > Maven > Update Project 这时所有的错误就全部解决完了,如下图。


总结

      项目有红叉叉别以为就是这个项目有问题。很多时候都是环境配置的问题。平时编码时使用的框架越多或者使用各种节省编码时间的工具,就会导致配置起来越麻烦,移植报错的几率越大。时间还长,不曾遇到的错误还很多,还需加油。









评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值