当前位置: 代码迷 >> Eclipse >> Maven项目在eclipse长进行热部署
  详细解决方案

Maven项目在eclipse长进行热部署

热度:100   发布时间:2016-04-23 01:21:11.0
Maven项目在eclipse上进行热部署

?? 最近本人在学习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实现热部署。
?

  相关解决方案