码迷,mamicode.com
首页 > 其他好文 > 详细

Maven学习 七 Maven项目创建(2)war项目

时间:2018-10-28 17:55:08      阅读:164      评论:0      收藏:0      [点我收藏+]

标签:run   报错   str   依赖   gem   clean   因此   ack   目的   

一、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>

 

Maven学习 七 Maven项目创建(2)war项目

标签:run   报错   str   依赖   gem   clean   因此   ack   目的   

原文地址:https://www.cnblogs.com/cplinux/p/9865726.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!