3

我会尽量保持简短。我有安装了M2E(Maven 到 Eclipse)插件的 Eclipse。我有一个正在处理的GAE(Google App Engine)项目。除了一件非常烦人的事情之外,一切都运行良好:每次进行更改时,我都必须停止/启动开发服务器。

如果您对此设置有任何经验,那么您可能能够回答这个简单的问题?

我在命令行上使用“mvn appegnine:devserver”启动开发服务器。现在我希望如果我对 *.jsp 进行更改,例如,这些更改将在开发服务器上自动更新。这是发生在你身上吗?

我注意到,如果我对目标文件夹下的 *.jsp 文件进行更改,那么 devserver 将按照我的预期看到这些更改和更新。我认为我的问题在于 Eclipse 没有将更改复制到目标文件夹,但不确定是否应该这样做?

有没有人对我应该如何进行调查有任何建议?我已经没有想法了:-/

我提前感谢您提出的任何意见。

Ps 我知道我可以运行“mvn package”来更新文件,但这很慢,并且在执行两次后开发服务器内存不足。

4

4 回答 4

3

这可能有点痛苦,具体取决于您想要的工作方式以及您使用的 Eclipse 版本。

  1. 如果还没有安装 m2e-wtp 插件。这是让 appengine 项目在 Eclipse 中运行的秘诀。请注意,这不是 m2e - 而是另一个插件。

  2. 安装 GPE - 如果你还没有,请安装 Eclipse 的谷歌插件

  3. 确保您的项目由 m2e 作为 maven 项目进行管理。

  4. 进入您的项目属性 - 使用 GPE(在“Google”下列出)将其作为 appengine 项目启用。当你在这里时,不要忘记勾选 HRD。

  5. 转到您的项目构建路径(属性 -> Java 构建路径)。

    • 确保在源选项卡上您的 src/main/resources 没有 ** 排除项。
    • 确保在库选项卡上您拥有三个库“JDK”、“Google Appengine”和“Maven 依赖项”,仅此而已
    • 确保在 order 和 export 选项卡上 appengine 依赖项高于 maven 依赖项。

这听起来很荒谬——我不确定为什么它仍然如此痛苦,但这是成功的好方法。一旦完成,这应该允许您在 eclipse 本身的调试中运行,热加载代码、jsps、css、脚本等。我在 helios、indigo 和 juno 中完成了这项工作。

您可以在此处阅读有关 m2e-wtp 设置说明的更多信息。他们指的是 GWT,但对于 appengine 来说也是一样的(我不确定为什么强调在 GAE 上使用 GWT),因为它实际上是关于 GPE 和 Maven 的正确设置。

您还会发现您可能需要非常频繁地重复第 5 步的某些部分 - 如果您的应用程序没有正确加载,请快速查看以确保您的资源没有被排除在外。当您使用 m2e 插件更新项目配置时会发生这种情况。

wtp-m2e 插件会在修改资源时更新目标文件夹-因此这也应该解决您从命令行运行的问题,但我不能保证-我更喜欢直接从 Eclipse 中运行。

于 2013-10-15T21:38:45.347 回答
1

我和你有同样的问题,但是我用其他方法解决了。我使用FileSync插件(可以在市场上找到)。使用此插件,您可以配置输入目录(webapp)和输出目录(目标)。对 webapp 所做的任何更改都将传递给目标。我也有帮助。

于 2013-12-11T18:33:31.243 回答
0

以下几点对我有用。

确保在 order 和 export 选项卡上 appengine 依赖项高于 maven 依赖项。

于 2014-12-28T04:28:42.653 回答
0

您可以像这样使用 rsync:

     rsync -r --existing   src/main/webapp/ target/ROOT

其中“ROOT”是项目构建的最终名称。

于 2014-01-21T17:48:12.860 回答