SSH项目总结(一) Maven构建SSH项目遇到的问题

JAVA学习网 2018-07-02 13:27:04

这个系列是我对自己这段时间项目的学习,总结出来的一些经验。网上的案例往往太过陈旧,提供不了太过直接有效的建议,希望我这个系列能够帮到查询资料的同学,能够节省时间做一些更有意义的事情。

水平有限,有不正确的地方,请在评论区告诉我。谢谢!!

  • 问题:想使用2.5.14.1版本的Struts2 和5.0.4.RELEASE版本的Spring,可是却使用的是4.1.9.RELEASE版本的Spring-web版本
  • 解决方法
  1. 确定框架的Jar包的依赖有没有问题
  2. 如果Jar包的依赖确定没有问题,那么大概率应该是遇上了Maven的传递传递问题,如果你想了解理论:https://www.cnblogs.com/ygj0930/p/6628429.html,如果不想知道那么多,那么你可以查看框架的Maven依赖,那么新的问题又来了? 

如何查看项目的Maven依赖,到这个网站http://mvnrepository.com/

例如搜索struts2-core

      

选择相应的版本,例如我的是2.5.14.1,那么找到Compile Dependcies,可以看出可以看出Struts2 本身使用的Spring是4.19版本

 

<!-- https://mvnrepository.com/artifact/org.springframework/spring-web -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-web</artifactId>
    <version>5.0.4.RELEASE</version>
</dependency>

问题解决

 

 


 

 


  • 问题:Maven Build时提示:Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.12.4:test
  • 解决:添加Maven插件 依赖
<!-- 打包的跳过test -->
<plugin>
     <groupId>org.apache.maven.plugins</groupId>
     <artifactId>maven-surefire-plugin</artifactId>
     <version>2.21.0</version>
     <configuration>
     <skipTests>true</skipTests>
     </configuration>
</plugin>

 

        


  • 问题:想要把项目部署到本地Tomcat的webapp项目下,需要怎么做?
  • 解决
  1.  在你的tomcat安装目录conf/tomcat-users.xml下添加以下代码
    <role rolename="manager-gui"/>
      <role rolename="manager-script"/>
      <role rolename="manager-jmx"/>
      <role rolename="manager-status"/>
      <role rolename="admin-gui"/>
      <role rolename="admin-script"/>
    <!--
    以上是用户权限设置
    下面一句是用户名和密码设置,以及用户的所拥有的权限
    -->
     <user username="root" password="root" roles="manager-gui,manager-script,manager-jmx,manager-status,admin-gui,admin-script"/>

     如果你使用的Eclipse 的话,你就必须小心了你会发现你用Eclipse启动Tomcat后,Tomcat的tomcat-users.xml文件又会变成初始状态,Eclipse本身会在启动Tomcat服务器时,将Eclipse默认Tomcat的tomcat-users.xml覆盖到服务器下所以你需要Eclipse 打开Navigator面板(打开方式为Windows>Show View >Navigator),找到Server文件夹                                                                                                                                                                                                                                                                                                                                                                                                                              然后添加以上代码,你的用户名和密码,可以随意取,但是必须和接下来的配置一样才行

  2.  你还需要到本机的Maven安装目录conf/settings.xml,添加以下
    <!--
    <servers>节点下的代码
    <id>可以随意取,但是接下来的代码会用到
    用户名密码配置必须和上面一样
    -->
    <server>
           <id>localTomcat</id>
          <username>root</username>
          <password>root</password>
     </server>
  • 最后一步,项目的pom.xml添加代码
    <!--
    这是Tomcat7的Maven官方插件
    如果你是Tomcat8的用户,那么这个插件同样适用,
    另外Tomcat8还有一个版本的插件,没有具体使用过,不知道详情
    <url>是Tomcat7插件的属性而已,我是Tomcat的运行端口是8090,你需要改成自己的端口
    <url>http://localhost:${你的端口号}/manager/text</url>  
    <server>localTomcat</server> 需要和之前配置相同      
    -->
    <plugin>
        <groupId>org.apache.tomcat.maven</groupId>
        <artifactId>tomcat7-maven-plugin</artifactId>
        <version>2.2</version>
        <configuration>
        <url>http://localhost:8090/manager/text</url>              
        <server>localTomcat</server>
        <update>true</update>
        </configuration>
    </plugin>

     

     


  • 补充两个最常用的命令,tomcat7:deploy,tomcat7:redeploy

   

阅读(1860) 评论(0)