zoukankan      html  css  js  c++  java
  • Maven学习 七 Maven项目创建(2)war项目

    一、web项目的目录结构

    如果手动创建一个java  web项目,其基本的目录结构包括:METE-INF,WEB-INF,以及WEB-INF下必须包含一个web.xml文件

    二、使用Maven创建war项目

    (一) 创建maven project时选择packaging为war

    (二)在webapp文件夹下新建META-INF和WEB-INF/web.xml

    刚创建的项目发现会报错,因为此时的项目没有web项目的目录结构,需要创建一些文件夹和文件,形成web的目录结构,在main/webapp下面创建META-INF,WEB-INF文件夹,并在WEB-INF目录下创建web.xml

    创建web目录结构后

    (三)加入web项目基本的三个依赖包,javax.servlet,javax.servlet.jsp,javax.servlet.jsp.jstl

    <dependencies>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>3.1.0</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>javax.servlet.jsp</groupId>
            <artifactId>javax.servlet.jsp-api</artifactId>
            <version>2.3.1</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>jstl</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
        </dependency>
    </dependencies>
     

    至此我们搭建的maven项目,如果在本地的tomcat上运行已经没有问题了

    三、maven的web项目在tomcat插件上运行

    (一)、在pom.xml的根标签下配置tomcat插件

    <build>
          <pluginManagement>
              <plugins>
                  <plugin>
                    <groupId>org.apache.tomcat.maven</groupId>
                    <artifactId>tomcat7-maven-plugin</artifactId>
                    <version>2.2</version>
                      <configuration>
                      <!-- 控制tomcat端口号 -->
                          <port>80</port>
                          <!-- 项目发布到tomcat后的名称 -->
                          <!-- / 相当于把项目发布名称为ROOT -->
                        <!-- /abc -->
                          <path>/</path>
                      </configuration>
                  </plugin>
              </plugins>
          </pluginManagement>
      </build>

    (二)为依赖的servlet,jsp包限定作用范围,

    在<dependecy>标签下有一个<scope>标签,用来限定这个包起作用的范围,设置成provided

    因为使用了tomcat插件,所以在tomcat插件中也有servlet,jsp等包,因此会和pom.xml中配置的依赖的包在运行时冲突,会报错。那么此时把pom.xml中的配置的包做一个范围限定,值让其在编译器起作用。

    <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>3.1.0</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>javax.servlet.jsp</groupId>
            <artifactId>javax.servlet.jsp-api</artifactId>
            <version>2.3.1</version>
            <scope>provided</scope>
        </dependency>

    (三)、右键项目--> run as --> maven build-->Goals 中输入  clean tomcat7:run

    clean和使用本地tomcat中,右击tomcat服务器-->clean一样

    在运行tomcat7:run时,7一定要带上,不然会运行tomcat6

    (四)、pom.xml全文

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
      <modelVersion>4.0.0</modelVersion>
      <groupId>com.mavenTest</groupId>
      <artifactId>wabPro</artifactId>
      <version>0.0.1-SNAPSHOT</version>
      <packaging>war</packaging>
      
      <dependencies>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>3.1.0</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>javax.servlet.jsp</groupId>
            <artifactId>javax.servlet.jsp-api</artifactId>
            <version>2.3.1</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>jstl</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
        </dependency>
    
      </dependencies>
      <build>
          <pluginManagement>
              <plugins>
                  <plugin>
                    <groupId>org.apache.tomcat.maven</groupId>
                    <artifactId>tomcat7-maven-plugin</artifactId>
                    <version>2.2</version>
                      <configuration>
                      <!-- 控制tomcat端口号 -->
                          <port>80</port>
                          <!-- 项目发布到tomcat后的名称 -->
                          <!-- / 相当于把项目发布名称为ROOT -->
                        <!-- /abc -->
                          <path>/</path>
                      </configuration>
                  </plugin>
              </plugins>
          </pluginManagement>
      </build>
    </project>
  • 相关阅读:
    LeetCode522. 最长特殊序列 II
    docker activiti部署到Linux环境,流程图乱码
    linux docker 命令
    linux 安装docker
    JSON,JSONOBJECT,JSONARRAY 互转
    Python和java 的区别笔记(未完成)
    程序员常读书单整理,附下载地址
    javaweb同一个项目打包两次放在同一个tomcat下
    SSM项目集成Redis
    Chrome浏览器崩溃
  • 原文地址:https://www.cnblogs.com/cplinux/p/9865726.html
Copyright © 2011-2022 走看看