【问题标题】:Is there any guide showing how to build effectively an application with appengine and maven in eclipse?是否有任何指南显示如何在 Eclipse 中使用 appengine 和 maven 有效构建应用程序?
【发布时间】:2014-06-15 14:36:58
【问题描述】:

我正在尝试使用 Eclipse 开发使用 Google App-Engine 和 Maven 的应用程序。我面临一个问题,每当您更改 CSS 或 JSP 文件时,都需要重新启动应用程序。这使得工作非常困难,因为重新加载需要很多时间。

比如你在tomcat上开发不需要重启,这样修改就不需要重启,只有Java或者xml文件需要重启服务器。

在 localhost 上开发时,是否有模仿 GAE SDK 上的 tomcat 行为的解决方案?

【问题讨论】:

  • 我不确定为什么这被否决了,这是一个非常有效的问题(如果有的话,你的标题应该更具描述性,以表明你真正感兴趣的是如何让 JSP 在不重新启动的情况下重新加载开发服务器)
  • 我真的不明白人们如何在本地为 appengine 开发......我不认为这是一个愚蠢的问题!!!

标签: java eclipse google-app-engine maven eclipse-plugin


【解决方案1】:

如果您使用标准应用引擎 maven 原型构建,当您从您的 -ear 目录运行 mvn appengine:devserver 时,展开的战争工作目录位于此处:

<yourapp>/<yourapp>-ear/target/<yourapp>-ear-1.0-SNAPSHOT/<yourapp>-war-1.0-SNAPSHOT.war

如果您更改此目录中的任何 JSP,它们将被重新加载,而无需重新启动开发服务器。

因此,您可以设置一个简单的脚本或命令,在您希望刷新文件时将所有 JSP 和静态文件从 /-war/src/main/webapp 复制到该部署目录。我在一些线程上看到人们将他们的 IDE(在本例中为 IntelliJ)设置为在 IDE 失去焦点时自动执行该副本,这使得重新加载页面变得微不足道。

【讨论】:

  • 所以换句话说,我必须创建一个脚本来将文件从主文件夹复制到目标文件夹:) 真的吗?没有 maven 插件可以做到这一点?
  • 认真的吗?这是 bash 中的单行 cp 语句。你想要多简单?
  • 我认为在保存事件上使用 eclipse 能够进行此更改,当您保存文档以运行脚本以使项目工作时,这不是最佳实践,我认为 maven 应该这样做。类似于 IntelliJ 的东西在 eclipse 中可能很好:)
【解决方案2】:

使用 maven 在 eclipse 中使用 appengine 构建应用程序不是非常有效且耗时,因为使用传统方法对 jsp/css/js 进行每次更改都需要重新启动 appengine 或 mvn appengine:devserver。

@adevine 让我想到了一个解决方案,我找到了这个链接:http://andrei.gmxhome.de/filesync/index.html 在 eclipse 中安装了一个插件,然后我激活项目以将文件从 myapp/src/main/webapp 同步到由生成的目标文件夹maven myapp/target/myapp-snapshot-0.0.1.

成功了!!!

只要在 webapp 中进行更改,文件就会自动传输(无需运行其他任何东西,只需保存文件)到目标文件夹并成功重新加载。

希望这可以帮助人们,因为使用 appengine 令人沮丧(重新启动需要很多时间)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-02-15
    • 2011-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多