简要描述为什么有人想要尝试这一点。在Maven项目中,我需要针对target/classes
中的类运行测试,并且需要在Eclipse IDE中调试(使用Eclipse Servers插件)tomcat,这是加载类和许多其他组合资源在target/<name-version-package>/WEB-INF/classes
。当我的主源文件夹在WEB-INF/classes
目录中设置了输出时,tomcat调试在IDE中运行良好。当ouptut更改为target/classes
时,测试也可以正常工作,因为测试资源已正确组装并在包的上下文之外加载。
问题是我必须根据手头的任务(在tomcat中测试或调试)手动更改主源目录的输出。基于其他配置文件等,配置和构建更改将非常复杂,只能解决此问题。
因此,是否有一种简单的方法告诉Eclipse将源输出到两个目录中?这样,Java类文件的增量Maven构建将被复制到两个地方,我将不会有这么脆弱的配置。
答案 0 :(得分:1)
一种更简单的方法可能是在一个目录中构建类并具有自定义Maven目标(可能使用antrun插件)将它们复制到另一个目录。
的具体示例答案 1 :(得分:0)
也许尝试配置Maven和Eclipse以使用separate output folders。
答案 2 :(得分:0)
尝试使用jetty插件进行调试,并将输出保留在默认位置
答案 3 :(得分:0)
我认为不可能让Eclipse将源代码编译到多个位置。
在类似的情况下,我在工作区内创建了另一个项目,我将来自不同位置的源链接到该项目中。所以,我会有用于部署的主项目。然后我会有另一个项目用于其他东西,在这种情况下测试。在您的情况下,另一个项目将链接主项目的来源。
我遇到的唯一问题是我还没有找到如何使用相对路径链接源。
要链接源文件夹,您必须使用项目属性 - &gt; Java构建路径 - &gt;来源 - &gt;链接源。
很可能你也需要主项目的一些资源。您可以通过创建链接文件夹在其他项目中创建相同的目录结构。在项目中创建文件夹时,您可以从高级选项“链接到文件系统中的文件夹”中进行选择。