作为构建过程的一部分,我正在从jar中提取JavaScript。我希望这个js成为我部署在tomcat上的应用程序的Web资源的一部分,并且我已经更新了构建过程以允许这种情况发生。进行Maven构建(在Eclipse之外)可以按预期工作,并且我可以按照适当的顺序打包 war 。

但是,在使用Eclipse进行构建时,我遇到了一些麻烦。我的理解是为了通过增量构建将Web资源部署到tomcat,我需要将这些构建时生成的js文件放入target/m2e-wtp/web-resources目录。但是,当我发布这些新文件时,这些新文件将被忽略,并且部署到tomcat的Web资源似乎是从我的源中拉出的。

我还调整了项目的部署程序集设置。通过这种方式,我仍然无法正常工作。我有条目[source:/target/m2e-wtp/web-resources,DeployPath:/],当我对服务器执行“发布”时,该条目应找到新生成的文件。但是,在m2e-wtp似乎从源头拉出的情况下,也会发生同样的事情。

我想念什么吗?如何从m2e-wtp获得标准行为(即使其与eclipse之外的构建具有可比性)?还是我可以让 eclipse 只是建立 war 并按原样部署(不进行渐进式构建,我可以牺牲一些速度)?

仅供引用(版本):

eclipse: (Using Spring Tool Suite) 3.2.0
m2e: 1.3.1
m2e-wtp: 0.17.0
tomcat: 7.0

稍后添加了实验:

删除目标目录后,我执行了对Tomcat的发布,所有Web资源都从我的源中复制了。我还弹出未找到文件的弹出窗口,其中大多数是编译类。但是,它正在/target/m2e-wtp/web-resources/META-INF中寻找三个文件。 m2e-wtp插件仅在文件夹中查找特定文件,而不在整个指定文件夹中查找吗?

最佳答案

问题是没有刷新目标目录。 Eclipse(或m2e插件)无法识别或关心构建期间目标目录中文件的更改,这是我所假设的。现在,我启用了自动刷新(用于工作区)选项。 “访问时刷新”选项不起作用,因为它似乎仅在我第一次发布到tomcat时才触发刷新。

10-06 04:33