tomcat部署war包
一、打包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工程目录
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包名称/
上一篇: Mipmap
下一篇: Java有了新的垃圾回收器
推荐阅读
-
intellij idea tomcat热部署配置教程
-
Myeclipse部署Tomcat_动力节点Java学院整理
-
IDEA部署JavaWeb项目到Tomcat服务器的方法
-
maven tomcat plugin实现热部署
-
SpringBoot 创建web项目并部署到外部Tomcat
-
SpringBoot应用部署于外置Tomcat容器的方法
-
IntelliJ IDEA使用maven实现tomcat的热部署
-
Maven项目打包成war包部署到Tomcat的方法
-
Springboot项目打war包docker包找不到resource下静态资源的解决方案
-
springboot工程jar包部署到云服务器的方法