在Eclipse中,如何让运行中的tomcat看到依赖maven项目对源代码的更改?

在Eclipse中,如何让运行中的tomcat看到依赖maven项目对源代码的更改?,tomcat,maven,Tomcat,Maven,我在Eclipse工作区中有两个Maven项目,A和B。 项目B是一个依赖于a的web项目。我还将这些项目作为父项目的子模块,以支持可传递的依赖关系 现在,我部署web项目B的方法是 为项目A编译并构建jar,比如A.jar。将A.jar及其依赖项复制到项目B的webapp/WEB-INF/lib 编译B并为项目B构建war,比如B.war 将tomcat(eclipse嵌入式tomcat)docBase设置为 战争 这个很好用。但是因为Tomcat没有使用我的源代码,所以它不会立即看到我的本地

我在Eclipse工作区中有两个Maven项目,A和B。 项目B是一个依赖于a的web项目。我还将这些项目作为父项目的子模块,以支持可传递的依赖关系

现在,我部署web项目B的方法是

  • 为项目A编译并构建jar,比如A.jar。将A.jar及其依赖项复制到项目B的webapp/WEB-INF/lib
  • 编译B并为项目B构建war,比如B.war
  • 将tomcat(eclipse嵌入式tomcat)docBase设置为 战争
  • 这个很好用。但是因为Tomcat没有使用我的源代码,所以它不会立即看到我的本地代码发生更改

    我的问题是,如何让tomcat使用我的源代码?我如何配置Tomcat和Eclipse,以便在本地运行的web应用程序中,每当我在项目a和B中进行代码更改(B依赖于a)时,更改立即生效(热交换)


    先谢谢你

    不能让Tomcat运行源代码。它必须首先被编译。您所能做的最好的事情就是在编译新版本的类时引起注意。由于您的项目A作为一个JAR绑定到B中,我知道让Tomcat为项目A热插拔新代码的唯一选择是。这不是一个免费的产品,但是有一个免费的试用版,所以你可以看到它有多棒,如果这对你来说是一个长期存在的问题,那么它可能是值得的。此外,您的本地Java用户组每月可以分发两个JRebel许可证。这可能值得参加。

    谢谢你的回答……很抱歉我没有及时回复,因为我对Stackoverflow的问题太陌生了,以至于忘了我问过这个问题……我采用的方法是将我的tomcat docbase设置为web项目的webapp文件夹,并将相关项目编译到web-INF/classes文件夹。很难看,但现在适合我的需要。