我的项目生成一个Jar作为输出包,并使用我们的Artifactory上提供的外部War文件作为要部署在Tomcat上的Web应用程序(目前使用的是版本7)。此War文件包含运行应用程序所需的所有库和模块。
我已经将这些项目打包并运行在eclipse之外的" vanilla" Tomcat安装。在这种情况下,我的项目生成的Jar以这种方式加载到context.xml文件中:
<Loader className="org.apache.catalina.loader.VirtualWebappLoader" virtualClasspath="/home/igor/workspace/myapp/myapp-2.4.3.jar"/>
有没有办法可以使用Eclipse在Tomcat上部署这个项目并且仍能调试它?我可以使用为此目的生成的Jar,还是必须部署工作区项目? 对于War文件,我是否(或可以)将其添加为依赖项?
提前致谢!
修改
我们实际上提供了一个Web框架,它被打包为战争。使用该框架的其他应用程序将导出为jar,并通过上面引用的上下文文件加载到框架中。
答案 0 :(得分:2)
你的问题很混乱,可能是因为你的自定义插件/类加载器和部署与调试正交。
我建议您保留构建/打包/部署所需的任何系统并使用JVM远程调试。那就是不要使用Eclipse WTP,因为你似乎有自定义的部署步骤,而是构建你的代码部署&amp;运行单独的Tomcat实例,然后运行remote debugger in Eclipse。
你会得到一些使用这种方法的热码交换,但不会像JRebel那样多(也可以使用它),它肯定会比不断重新部署更好。