• 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 epositoryjavassist和.m2 epositoryorgjavassist两个地方,而要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>  
     
     
     
    经验教训:大堆坑,网上搜索只供参考,还是得自己不断尝试解决
  • 相关阅读:
    CODEFORCES 429B 动态规划
    HDU 2084(DP)
    最大公约数算法(待续)
    spring---aop 配置
    代理模式
    spring--学习之IOC DI
    spring--基本介绍
    JAVASE 面试总结(1)
    工厂模式
    建造者模式
  • 原文地址:https://www.cnblogs.com/gossip/p/5188510.html
Copyright © 2020-2023  润新知