欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

tomcat部署war包

程序员文章站 2022-06-11 10:50:44
...

一、打包war包(javaweb工程)

1、编译maven工程的原理

     1.1、maven会默认编译src/main/java和src/test/java目录下的源码,在compile和test-compile阶段被编译,放到target/classes和target/test-classes目录下,这两个目录的其他文件会被忽略。

     1.2、src/main/resources和src/test/resources目录下的文件会默认复制到target/classes和target/test-classes中。

     1.3、web工程时,会在target目录下生成(工程名)目录,默认将src/main/webapp目录下的内容复制到target/(工程名)目录下;默认将taget/classes目录下的内容复制到target/(工程名)/WEB-INF/classes目录下。

    1.4、dependencys依赖会默认复制到target/(工程名)/WEB-INF/lib目录下。

各个插件的执行顺序一般是:1:clean、2:resources、3:compile、4:testResources、5:testCompile、6:test、7:jar、8:install

2、默认的maven工程目录                                   我的maven工程目录

tomcat部署war包                                 tomcat部署war包

3、如果创建的maven工程与默认路径格式不同,如何编译非默认目录下的源码

     3.1、编译非默认目录下的源码

  <build>
    <!--构建项目:构建后的项目名称-->
    <finalName>simple-webapp</finalName>
    <!--设置默认源代码目录-->
    <sourceDirectory>src/java</sourceDirectory>
  </build>

      或者指定多个默认目录

<build>
<plugins>  
        <!-- 指定多个源代码目录、多个资源文件目录 -->
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>build-helper-maven-plugin</artifactId>
        <version>1.8</version>
        <executions>
          <execution>
            <id>add-source</id>
            <phase>generate-sources</phase>
            <goals>
              <goal>add-source</goal>
            </goals>
            <configuration>
              <sources>
                <source>src/java/main</source>
                <source>src/java/generated</source>
              </sources>
            </configuration>
          </execution>
        </executions>
      </plugin> 
    </plugins>  
</build>

 

 3.2、复制非默认 目录下的配置文件(包括java和resources目录下)

    <resources>
      <resource>
        <directory>src/java</directory>
        <includes>
          <include>**/*.xml</include>
        </includes>
        <filtering>true</filtering>
      </resource>
      <resource>
        <directory>src/resources</directory>
        <includes>
          <include>**/*</include>
        </includes>
        <filtering>true</filtering>
      </resource>
    </resources>

   3.3、设置测试源码的默认目录

    <testSourceDirectory>src/test/java</testSourceDirectory>

    3.4、设置默认测试资源目录

    <testResources>
      <testResource>
        <directory>src/test/resources</directory>
      </testResource>
    </testResources>

4、思考为什么maven不能编译自定义目录,但是idea可以编码成功?

    在Project-Project Structure-Modules里将自定义目录设置成了Sources目录和Resources目录。

5、执行自定义webapp目录

<build> 
   <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-war-plugin</artifactId>
        <version>2.1.1</version>
        <configuration>
          <webResources>
            <resource>
              <!-- this is relative to the pom.xml directory -->
              <directory>src/webapp</directory>
            </resource>
          </webResources>
        </configuration>
      </plugin>
    </plugins>
  </build>

或者

      <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-war-plugin</artifactId>
      <version>2.1.1</version>
      <configuration>
        <webXml>src\webapp\WEB-INF\web.xml</webXml>
      </configuration>
      </plugin>

二、将war包放入tomcat下的webapp目录,访问路径:http://localhost:8080/war包名称/

 

相关标签: web