最近本人在学习Maven,觉得Maven管理确实很方便。Maven项目能够在eclipse上进行热部署,那就更好了。总结了前人的一些用法,有两种方法可以实现热部署。
方法一:
在eclipse按照Maven插件就不累赘了,能够google到很多信息。第一种方法我们就采用Maven的打包上传的方式实现。
第一步:创建项目一个Maven项目。

第二步:在项目上点击右键
build path -> configure build path ->Source
将src/main/java和src/main/sources 源文件夹的Output folder指向 target/classes
将跟test相关的源文件夹的Output folde指向target/test-classes。

第三步:项目右键 -> properties -> project Facets
将Dynamic Web Module勾选上,版本根据自己的需要选上。在右边runtimes新加上tomcat环境,这样就会把javaee依赖的jar导入大项目中。

第四步:配置tomcat的用户信息。进入tomcat的conf目录,编辑tomcat-user.xml文件夹。
<role rolename="manager"/> <role rolename="manager-script"/> <role rolename="admin-gui"/> <role rolename="manager-gui"/> <user username="tomcat" password="tomcat" roles="manager,manager-gui, manager-script,admin-gui" />
在修改Maven conf目录中的settings.xml文件,添加
<server>
<id>tomcat</id>
<username>tomcat</username>
<password>tomcat</password>
</server>
第五步:修改pom.xml
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>tomcat-maven-plugin</artifactId>
<version>1.1</version>
<configuration>
<url>http://localhost:8080/manager/text</url>
<server>tomcat</server>
<path>/tomcattest</path>
</configuration>
</plugin>
</plugins>
</build>
如果tomcat 6,则<url>http://localhost:8080/manager/text</url>改为<url>http://localhost:8080/manager/</url>
到现在,所有的修改工作已经完成。
在到项目上run as -> mvn build .在goals中输入package tomcat:deploy。Maven将项目打包宾部署到tomcat中。经测试成功。
方法二:
方法二就是把Maven项目变成传统项目一样的。修改tomcat中的server.xml,指向到项目径路上。
在方法一的第二步,将src/main/java和src/main/sources 源文件夹的Output folder指向src/main/webapp/WEB-INF/classes
将跟test相关的源文件夹的Output folde也指向src/main/webapp/WEB-INF/classes。这样,所有的文件都将编译到classes文件夹下边,如果在把jar复制到WEB-INF中,就跟传统的项目文件路径一样了。
修改pom.xml让jar部署到WEB-INF中去。
<build>
<finalName>example</finalName>
<sourceDirectory>src/main/java</sourceDirectory>
<testSourceDirectory>src/test/java</testSourceDirectory>
<resources>
<resource>
<directory>src/main/resources</directory>
</resource>
</resources>
<testResources>
<testResource>
<directory>src/test/resources</directory>
</testResource>
</testResources>
<outputDirectory>src/main/webapp/WEB-INF/classes</outputDirectory>
<testOutputDirectory>src/main/webapp/WEB-INF/classes</testOutputDirectory>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.8</version>
<configuration>
<outputDirectory>src/main/webapp/WEB-INF/lib</outputDirectory>
<excludeTransitive>false</excludeTransitive>
<stripVersion>true</stripVersion>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
再run as -> maven build -> 在goals中 输入 dependency:copy-dependencies
所有的jar都部署到WEB-INF/lib中去了,就跟传统的项目没有区别了。可以再用jrebel.jar实现热部署。
1118

被折叠的 条评论
为什么被折叠?



