zoukankan      html  css  js  c++  java
  • 笔记: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

  • 相关阅读:
    扫面线模板
    (动态规划、栈)leetcode 84. Largest Rectangle in Histogram, 85. Maximal Rectangle
    tmux 常见命令汇总
    leetcode 221
    leetcode 319 29
    (贪心)leetcode 392. Is Subsequence, 771. Jewels and Stones, 463. Island Perimeter
    leetcode 982 668
    Python import 同文件夹下的py文件的函数,pycharm报错
    Windows里Anaconda-Navigator无法打开的解决方案
    Windows下 gpu版 Tensorflow 安装
  • 原文地址:https://www.cnblogs.com/li3807/p/6416194.html
Copyright © 2011-2022 走看看