5

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

但是,在使用 eclipse 构建时,我遇到了一些令人头疼的问题。我的理解是为了通过增量构建将 Web 资源部署到 tomcat,我需要将这些构建时生成的 js 文件放入 target/m2e-wtp/web-resources 目录中。但是,当我发布这些新文件时,这些新文件将被忽略,并且部署到 tomcat 的网络资源似乎是从我的源中提取的。

我还调整了项目的部署程序集设置。通过这个我仍然没有工作。我有条目 [source:/target/m2e-wtp/web-resources, DeployPath:/] 当我向服务器执行“发布”时应该找到新生成的文件。然而,同样的事情发生在 m2e-wtp 似乎是从源头中提取的地方。

我错过了什么吗?如何从 m2e-wtp 获得标准行为(即使其与在 eclipse 之外完成的构建相媲美)?或者我可以让eclipse构建战争并像这样部署它(不做增量构建,我可以牺牲一些速度)?

仅供参考(版本):

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

后来添加的实验:

删除我的目标目录后,我向 Tomcat 执行了发布,并且所有网络资源都从我的源中复制。我还有一个关于找不到文件的弹出窗口,其中大部分是已编译的类。但是,它在 /target/m2e-wtp/web-resources/META-INF 中寻找三个文件。m2e-wtp 插件是否只查找文件夹中的特定文件而不是整个指定文件夹?

4

1 回答 1

5

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

于 2013-05-01T18:37:42.283 回答