• 笔记:Maven Web项目


    • 生成Web项目模块

      生成Web项目模板和生成其他项目的模板一致,差别是指定模板的类型,执行命令如下:

      mvn archetype:generate -DarchetypeArtifactId=maven-archetype-webapp

      命令结果:

      输入 groupId、artifactId、version后 Maven 会生成 Web项目结构

    • 项目POM配置

      Web和其他项目的差别就是在打包格式,普通项目的打包格式为 JAR,而Web项目的打包格式为WAR,配置差异如下:

      <packaging>war</packaging>

    • 项目目录

    目录路径

    说明

    src/main/java

    Java 源代码目录

    src/main/resources

    资源目录

    src/main/filters

    资源过滤文件目录

    src/main/config

    配置文件目录跟

    src/main/webapp

    Web 站点目录,必须WEB-INF子目录及WEB-INF子目录需要包含 web.xml配置文件

    src/test/java

    测试代码目录

    src/test/resources

    测试资源目录

    src/test/filters

    测试资源过滤文件目录

    pom.xml

    Maven2 配置文件

    • 打包WAR名称配置

      默认打包WAR文件名称的设定规则值为 ${project.artifactId}-${project.version},生成的文件名过长,在部署后需要输入冗长的地址,因此我们需要名字更为简洁的war包,可以配置 finalName 元素来修改,配置如下:

      <build>

      <finalName>drsoft</finalName>

      </build>

      执行打包命令:

      mvn clean package

      命令结果:

    • 自动部署至本地Web容器

      可以使用Maven的插件来完成自动部署,Cargo 插件支持二种本地部署的方式,分别为 standalone 模式和existing 模式,在 standalone模式中,Cargo会从Web容器的安装目录复制一份配置到用户指定的目录,然后在此基础上部署应用,每次重新构建将清除目录;existing模式则用户需要指定现有的Web容器配置目录,然后Cargo会直接使用这些配置并将应用部署其对应位置。

      • existing模式

        <plugin>

            <groupId>org.codehaus.cargo</groupId>

            <artifactId>cargo-maven2-plugin</artifactId>

            <version>1.6.2</version>

            <configuration>

                <container>

                    <!-- 容器唯一标识 -->

                    <containerId>tomcat8x</containerId>

                    <!-- Tomcat 安装路径 -->

                    <home>D:Developersapache-tomcat-8.0.39</home>

                </container>

                <configuration>

                    <!-- 部署类型 -->

                    <type>existing</type>

                    <!-- Tomcat 安装路径 -->

                    <home>D:Developersapache-tomcat-8.0.39</home>

                </configuration>

            </configuration>

        </plugin>

      • standalone模式

        <plugin>

            <groupId>org.codehaus.cargo</groupId>

            <artifactId>cargo-maven2-plugin</artifactId>

            <version>1.6.2</version>

            <configuration>

                <container>

                    <!-- 容器唯一标识 -->

                    <containerId>tomcat8x</containerId>

                    <!-- Tomcat 安装路径 -->

                    <home>D:Developersapache-tomcat-8.0.39</home>

                </container>

                <configuration>

                    <!-- 部署类型 -->

                    <type>standalone</type>

                    <!-- Tomcat 安装路径 -->

                    <home>${project.build.directory}/tomcat8x</home>

                </configuration>

            </configuration>

        </plugin>

      • 常用命令

    命令

    说明

    mvn cargo:start

    启动容器,生命周期依赖于maven实例的生命周期,maven构建成功或者失败之后,cargo插件的生命周期也自动停止了

    mvn cargo:run

    启动容器,如果项目的类型为JavaEE,则会部署到容器

    mvn cargo:stop

    停止容器

    mvn cargo:restart

    停止并重新启动容器

    mvn cargo:redeploy

    部署到远程服务器,必须保证 Tomcat 是运行状态

    • 自动部署到远程Web容器

      部署到Tomcat服务器,需要使用 tomcat7-maven-plugin 插件来实现,在执行部署时,必须启动 Tomcat,配置信息如下:

      • Tomcat 的用户配置:

        Tomcat 的安装目录下的 conf/tomcat-users.xml 配置文件,增加用户和权限配置:

        <?xml version='1.0' encoding='utf-8'?>

        <tomcat-users xmlns="http://tomcat.apache.org/xml"

                                    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

                                    xsi:schemaLocation="http://tomcat.apache.org/xml tomcat-users.xsd"

                                    version="1.0">

           

            <role rolename="manager-gui"/>

            <role rolename="manager-script"/>

            <user username="tomcat" password="liyong" roles="manager-gui,manager-script"/>

        </tomcat-users>

      • 项目POM配置:

        <plugin>

            <groupId>org.apache.tomcat.maven</groupId>

        <!-- 支持 Tomcat7 和 Tomcat 8 -->

            <artifactId>tomcat7-maven-plugin</artifactId>

            <version>2.2</version>

            <configuration>

        <!-- Tomcat 的管理地址 -->

                <url>http://localhost:8080/manager/text</url>

                <server>tomcat8x</server>

            </configuration>

        </plugin>

      • 增加Tomcat服务器登录信息:

        <server>

              <id>tomcat8x</id>

              <username>tomcat</username>

              <password>liyong</password>

        </server>

      • 执行命令:

    命令

    说明

    mvn tomcat7:deploy

    执行第一次部署

    mvn tomcat7:redeploy

    执行覆盖部署

    注意:查看插件所有的命令可以执行 mvn help:decribe -Dplugin=org.apache.tomcat.maven:tomcat7-maven-plugin

  • 相关阅读:
    pytest运行报错 TypeError: attrib() got an unexpected keyword argument 'convert'
    akshare股市新闻情绪判断
    NLTK下载数据的方法
    akshare量化股票市场情绪指标ARBR
    AttributeError: module 'seaborn' has no attribute 'histplot'
    ERROR: Could not install packages due to an OSError: [Errno 13] Permission denied: 'RECORD' Consider using the `user` option or check the permissions.
    父窗口和所有者窗口(转)
    vue2项目转变vue3的方法
    Linux 下通过ping判断机器有没有外网。(不用root)
    Linux C++ 实现一个简易版的ping (也就是ICMP协议)
  • 原文地址:https://www.cnblogs.com/li3807/p/6416194.html
Copyright © 2020-2023  润新知