Eclipse使用maven创建struct2项目及遇到的各种坑

 
坑一:
Eclipse创建maven项目报错:Could not resolve archetype org.apache.maven.archetypes:maven-archetype-quickstart
选择:maven-archetype-webapp  version为1.0的版本,而不是默认的maven-archetype-quickstart
 
坑二:这也是最大的坑,这个坑花了4,5个小时才解决
网络解决方案: http://wyyzfy.iteye.com/blog/1698805  以及其他类似的解决方案
从网上下载不同的jar包、删除repository下除jar包外的其它文件,都无效,仍然报错
最终错误定位到javassist这个库上,无论是手动添加、pom文件添加、pom文件删除都无效
终于在pom.xml添加下列配置后pom文件不报错了,重点在于要通过exclusions排除javassist库,但是这样排除会导致坑三
<dependency>
            <groupId>org.apache.struts</groupId>
            <artifactId>struts2-core</artifactId>
            <version>2.3.16</version>
             <exclusions>
                <exclusion>
                     <groupId>javassist</groupId>
                    <artifactId>javassist</artifactId>
                </exclusion>
            </exclusions>
        </dependency>  
 
 
坑三:使用jetty作为web容器,启动时报错:Dispatcher initialization failed
网上解决方案:思路基本上是structs不同版本导致的,有的版本需要 javassist,有的又不需要
最后通过查看.m2-->repository文件夹下,发现javassist存在于 \.m2\repository\javassist和\.m2\repository\org\javassist两个地方,而要 exclusions 是org下的库,由于exclusions了第一个,导致jetty启动不了
解决方案:修改pom.xml配置如下:
<dependency>
            <groupId>org.apache.struts</groupId>
            <artifactId>struts2-core</artifactId>
            <version>2.3.16</version>
            <exclusions>
                <exclusion>
                     <groupId> org.javassist </groupId>
                    <artifactId>javassist</artifactId>
                </exclusion>
            </exclusions>
        </dependency>  
 
 
 
经验教训:大堆坑,网上搜索只供参考,还是得自己不断尝试解决
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值