• 使用eclipse运行maven web项目 插件/非插件


    一.使用插件

    tomcat 8.5

    tomcat-users.xml中添加这一行就ok

    <user username="admin" password="admin" roles="manager-script"/>

    maven的settings.xml在servers标签中添加

    <server>
    <id>tomcatserver</id>
    <username>admin</username>
    <password>admin</password>
    </server>

    下图是maven配置文件位置

     在pom.xml中添加(path是你的项目名,注意和web.xml中保持一致)

     1 <plugin>
     2       <groupId>org.apache.tomcat.maven</groupId>
     3       <artifactId>tomcat7-maven-plugin</artifactId>
     4       <version>2.2</version>
     5       <configuration>
     6             <url>http://127.0.0.1:8080/manager/text</url>
     7             <server>tomcatserver</server>
     8             <path>/usermodule</path>
     9             <username>admin</username>
    10             <password>admin</password>
    11       </configuration>
    12 </plugin>

    接下来去tomcat的bin目录下启动tomcat,此步骤不做会出现cannot invoke tomcat manager,当然上面用户名,密码配错也会有这个异常,如果启动tomcat一闪而过,要么是jdk没配置对,要么就是tomcat

    的server.xml中host标签中包含错误的context,删除即可,删除时不要把</host>删除

    第一次运行:clean package tomcat7:deploy,去项目目录观察下是否把resources下的文件打包进去,如果没有添加以下配置

    1 <resource>
    2     <directory>src/main/resources</directory>
    3     <includes>
    4         <include>**/*</include>
    5     </includes>
    6 </resource>

    如果使用了orm框架,比如mybatis,hibernate这种,src/main/java下通常会有XXX.xml的配置文件,想要被打包进去,还要添加

    1 <resource>
    2     <directory>src/main/java</directory>
    3     <includes>
    4         <include>**/*.xml</include>
    5     </includes>
    6 </resource>

    接下来执行tomcat7:redeploy(热部署)即可,如果添加了新的文件,执行clean package redeploy即可,这种方式日志输出在tomcat的命令框中,看起来不是很方便

    声明:tomcat7:run启动了插件带的tomcat而不是你配置的tomcat

    二.使用eclipse启动tomcat,加载maven web项目

    tomcat 9

    先添加好server,然后右键open(server已有项目,先remove后clean),把deploypath改成tomcat的webapps路径(serverpath测试了不修改也没什么问题),然后启动

    此时去tomcat的webapp下,项目中没有只有包的结构没有class文件,导致一访问就出现class not found,还有一点几率出现Illegal access: this web application instance has been stopped already

    顺序查看:

    1.buildpath 中的source必须有java,resource

     2.deployment assembly要加入maven依赖

     3.project->build automaticlly开启

    4.如果修改了project facts中的dynamic web module的版本,必须在web.xml中修改头部对应的version以及xsi:schemaLocation对应的尾部xsd版本

    三.maven-war-plugin,maven-dependency-plugin

    最初的想法,尝试用这两个插件直接打包到tomcat的webpps目录下,配置如下

     1 <plugin>
     2     <groupId>org.apache.maven.plugins</groupId>
     3     <artifactId>maven-war-plugin</artifactId>
     4     <version>2.1.1</version>
     5     <configuration>
     6     <!--指定web.xml的路径  -->
     7         <webXml>srcmainwebappWEB-INFweb.xml</webXml>
     8         <!--指定jsp、js、css的路劲  -->
     9         <warSourceDirectory>srcmainwebapp</warSourceDirectory>
    10     </configuration>
    11 </plugin>
    12 
    13 <!--打war包到指定的目录下 --> 
    14 <plugin>  
    15     <groupId>org.apache.maven.plugins</groupId>  
    16     <artifactId>maven-dependency-plugin</artifactId>  
    17     <version>2.8</version>  
    18     <executions>  
    19         <execution>  
    20             <id>copy-war</id>  
    21             <phase>package</phase>  
    22             <goals>  
    23                 <goal>copy</goal>  
    24             </goals>  
    25             <configuration>  
    26                 <artifactItems>  
    27                     <artifactItem>  
    28                         <groupId>${project.groupId}</groupId>  
    29                         <artifactId>${project.artifactId}</artifactId>  
    30                         <version>${project.version}</version>  
    31                         <type>${project.packaging}</type>  
    32                     </artifactItem>  
    33                 </artifactItems>  
    34               <!--   <outputDirectory>${dist.console.war.dir}</outputDirectory>   -->
    35               <!--指定war包保存地址-->
    36                 <outputDirectory>D:apache-tomcat-9.0.24-eclipsewebapps</outputDirectory>  
    37                 <includes>   
    38                     <include>*.war</include>   
    39                 </includes>  
    40             </configuration>  
    41         </execution>  
    42     </executions>  
    43 </plugin>

    通过这种方式执行clean package打包后会在tomcat的webapps下生成了wa包,接下来启动tomcat解压后访问

  • 相关阅读:
    UIWebView长按弹出菜单显示英文解决办法
    远程推送不能获取token的原因(证书配置正确)
    汉字转拼音 汉字排序功能
    旋转360度动画
    获取wifi列表
    openssl生成私钥公钥的步骤
    JAVA后台框架优化之日志篇
    react native学习资料
    RAP, 高效前后端联调框架,接口文档管理工具
    【JMeter】JMeter在linux下运行
  • 原文地址:https://www.cnblogs.com/tele-share/p/11514327.html
Copyright © 2020-2023  润新知