`
ranyut
  • 浏览: 255512 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

【超简单】Maven项目Eclipse开发热部署到tomcat

阅读更多
       想法很简单,就是在开发时eclipse编译后的代码直接在tomcat中体现出来,不需要重新install,不需要重新发布到tomcat。这个问题折磨了我两天,网上搜索到的帖子太不靠谱,经过自己大量摸索终于成功了。在MyEclipse8.6 或 MyEclipse10都测试成功。超简单,希望能解决困扰你的问题。
项目环境:
JavaWeb项目通过Maven管理,MyEclipse8.6 或 MyEclipse10 或Eclipse开发,发布到tomcat6。
 
任务目标:
希望在Eclipse的Dubug模式中修改代码时直接热部署到tomcat中,就跟没有用maven一样。
 
步骤简述:
1、让maven项目支持web属性
2、配置编译输出文件路径到src/main/webapp/WEB-INF/classes
 
详细步骤:
一、让maven项目支持web属性


 
 

 

 Finish之后可以看到项目名称加上了一个小球。
 
第二步:修改编译输出文件路径
修改pom.xml,在build节点中添加:
<build>
<!-- 自定义编译输出目录 -->
  <directory>${project.basedir}/target</directory>
  <outputDirectory>${project.basedir}/src/main/webapp/WEB-INF/classes</outputDirectory>
  <finalName>${project.artifactId}</finalName>
  <testOutputDirectory>${project.basedir}/src/main/webapp/WEB-INF/test-classes</testOutputDirectory>
  <sourceDirectory>${project.basedir}/src/main/java</sourceDirectory>
  <scriptSourceDirectory>${project.basedir}/src/main/scripts</scriptSourceDirectory>
  <testSourceDirectory>${project.basedir}/src/test/java</testSourceDirectory>
</build>
 
重新加载pom.xml


 
右键maven项目,在Java Build Path选项的Source选项,查看Output folder



 

 

注意这里不能直接通过Edit修改Output folder,修改之后只要一修改pom.xml就会被还原为target/classes,所以只能修改pom.xml属性。

 

Install效果:



 

三次修改java文件,每次在输出内容加了点变化,tomcat输出效果:(记得是debug模式启动服务器)


 
  • 大小: 91.1 KB
  • 大小: 189.3 KB
  • 大小: 218.2 KB
  • 大小: 410.9 KB
  • 大小: 174.5 KB
  • 大小: 306.8 KB
分享到:
评论
4 楼 zhoujianboy 2017-03-10  
另外一个方法实现eclipse tomcat 热部署:http://www.haonanji.cn/545.html
3 楼 zhoujianboy 2017-03-10  
另外一个方法实现eclipse tomcat 热部署:http://www.haonanji.cn/545.html
2 楼 ranyut 2016-12-02  
tzk117 写道
博主的做法不可取,这种只能适应于单独的maven项目,即不存在父项目依赖的情况,而且会导致webapp目录下多了个classes和test-classes目录,代码提交的时候还需要过滤掉这两个目录。
如果存在依赖父maven项目的话,当前项目中的webapp下可能只有一部分的代码和资源文件,大量的基础文件在父项目中。博主的这种部署install的时候并不会把父的代码拷贝到当前项目中的webapp中。假如可以,也是不可取的,两个项目的代码混在一块了。

这只是为了让你开发起来更快捷,比起每次都去install方便很多。提交代码时可以设置自动过滤.class之类的文件
1 楼 tzk117 2016-04-19  
博主的做法不可取,这种只能适应于单独的maven项目,即不存在父项目依赖的情况,而且会导致webapp目录下多了个classes和test-classes目录,代码提交的时候还需要过滤掉这两个目录。
如果存在依赖父maven项目的话,当前项目中的webapp下可能只有一部分的代码和资源文件,大量的基础文件在父项目中。博主的这种部署install的时候并不会把父的代码拷贝到当前项目中的webapp中。假如可以,也是不可取的,两个项目的代码混在一块了。

相关推荐

Global site tag (gtag.js) - Google Analytics