你的位置:首页 > 软件开发 > Java > eclipse下maven项目保持原有目录结构配置resin运行环境

eclipse下maven项目保持原有目录结构配置resin运行环境

发布时间:2016-03-12 23:00:07
maven项目用起来很方便,但是它的目录结构和eclipse的目录结构是有区别的,故而在eclipse下的maven项目,直接运行调试是有一些问题的.为了方便maven项目的运行调试,因而也就有了像tomcat-maven-plugin,jetty-maven-plugin这类m ...

maven项目用起来很方便,但是它的目录结构和eclipse的目录结构是有区别的,故而在eclipse下的maven项目,直接运行调试是有一些问题的.

为了方便maven项目的运行调试,因而也就有了像tomcat-maven-plugin,jetty-maven-plugin这类maven插件,不使用eclipse的运行,而直接在maven中运行这类插件是一点问题没有的,调试使用都很方便.但是resin这个容器在maven下的插件就不怎么样了,而且也不再有维护支持了.此时就只能使用eclipse的原始的运行调试命令了.

这里有几个小细节要先清楚(以web项目来说):

1.maven项目使用package命令是直接将class文件放到target目录下的.

   eclipse的项目,class文件是根据项目中鼠标右键-buildpath中配置的路径存放.

2.maven项目的web根路径是src/main/webapp下

   eclipse项目的web根路径是WebRoot(WebContent)下

3.maven项目在执行package后才会在target目录下生成项目的完整目录,包含项目的class文件和lib中引入的jar包.

  eclipse项目是根据buildpath路径实时编译class文件(你取消了autobuild另说),在WebRoot(WebContent)/WEB-INF/lib下存放引入的jar包

观察以上3点能得到一些明显的区别:eclipse项目是标准的web程序目录结构,class文件和lib在web根路径下.maven项目的class和lib在target下,与web根目录分开存放.

所以只需要将maven目录伪装成标准目录即可,在不破坏maven目录结构的情况下,有2种方式可行:

1.标准目录都是web根路径下是class和lib,所以我们只需要将项目的buildpath设置到src/main/webapp/WEB-INF/classes下即可.然后复制一份lib文件到src/main/webapp/WEB-INF/lib下.把maven的web根目录处伪装出一个标准目录结构来.resin的配置默认即可正常运行.此时项目 依然是maven项目,但是可以按照eclispe的方式来运行调试.

2.从resin的配置文件入手,不管怎么样最终运行的时候是要将项目部署到resin中才运行起来的,所以只要让resin能识别maven项目的目录结构也可达到目的.

查找resin的配置文件能发现如下配置:

  <cluster id="app-tier">    <resin:import path="classpath:META-INF/caucho/app-default. />    <server id="" address="127.0.0.1" port="6801">      <http address="*" port="9081" />    </server>    <host id="" root-directory=".">      <web-app id="/xxx" root-directory="D:\xxx\项目名\src\main\webapp" />    </host>  </cluster>

原标题:eclipse下maven项目保持原有目录结构配置resin运行环境

关键词:eclipse

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录