用maven来管理依赖和环境配置,在开发调试阶段用eclipse来发布web项目到web容器,maven项目编译的相关文件默认放在target目录下,tomcat发布的默认目录是WebRoot。所以在不设置的情况下不能正常发布。
创建maven管理的web项目有很多种方法,可以通过mvn命令创建,然后导入到eclipse中,也可以直接在eclipse创建普通web项目再通过maven2eclipse插件转换成maven管理。
如果想将项目设置成src/java/main/这样的结构,需要在src建立相应的目录结构,再通过properties->Java Build Path->Source->Add Folder勾选相应的目录(例:勾选java目录),相应的目录格式就会变成我们需要的结构。
好了,我们来看看如何设置maven管理的web项目在eclipse中用tomcat发布
1、首先将项目的编译目录改成tomcat的发布目录,方法:properties->Java Build Path->Source,找到Default output folder,将该目录改成tomcat的发布目录, (tomcat发布目录默认是WebRoot目录,该目录开始不在main目录下,可以将其拖移到main目录下)。
2、设置pom.xml文件,在pom.xml文件中加入:
<build> <finalName>sshtemplate-webapp</finalName> <sourceDirectory>src/main/java</sourceDirectory> <outputDirectory>src/main/WebRoot/WEB-INF/classes </outputDirectory> <defaultGoal>install</defaultGoal> <resources> <resource> <targetPath></targetPath> <directory>src/main/resources</directory> <filtering>true</filtering> </resource> </resources> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>2.0.2</version> <configuration> <source>1.5</source> <target>1.5</target> <encoding>UTF-8</encoding> </configuration> </plugin> <plugin> <artifactId>maven-resources-plugin</artifactId> <configuration> <encoding>UTF-8</encoding> </configuration> </plugin> <plugin> <artifactId>maven-war-plugin</artifactId> <configuration> <webappDirectory>target/sshtemplate-webapp </webappDirectory> <warSourceDirectory>src/main/WebRoot</warSourceDirectory> </configuration> </plugin> </plugins> </build>
注意粉红色的代码
3.然后重新编译一下工程,现在可以使用eclipse发布项目到tomcat或其它web容器中。在命令行运行mvn install相关文件也会在target目录下,两者均可正确发布。