0

我希望能够在 DevMode 中将我的 PlayN 项目作为 Web 应用程序运行,这样我就可以使用快速浏览器刷新来查看代码更改,而无需重新编译。从我在维基上阅读的内容和这个问题来看,这听起来应该是可能的。

我使用以下方法设置我的项目:mvn archetype:generate -DarchetypeGroupId=com.googlecode.playn -DarchetypeArtifactId=playn-archetype -DarchetypeVersion=1.7并将 pom.xml 导入到 Eclipse 中。

这是我能做的:

  • 从 Eclipse 作为 Java 应用程序运行
  • 使用 Maven 命令行启动服务器:mvn -Phtml integration-test

虽然我可以用 Java 进行大部分编程,偶尔也可以进行长时间构建以测试 HTML,但我希望能够在测试 HTML 时修改代码而无需重新编译。

默认情况下,不显示作为 Web 应用程序运行的选项。我已经尝试进入项目的属性并检查“使用 Google App Engine”和“使用 Google Web 工具包”选项,这会创建“作为 Web 应用程序运行”选项,但是当我这样做时,我得到“找不到任何项目 XXX 中的主机页面”。

然后我尝试在 Properties->Google-Web Application 下设置一个 WAR 目录。但是,项目中最接近 WAR 的是“src/main/webapp”。我试过使用它,但出现错误:“类路径引用的存档:/myproject-assets/src/main/java 不存在。”

我有一种感觉,这一切都错了。谁能指出我正确的方向?我正在做的事情甚至应该是可能的吗?谢谢!

4

1 回答 1

0

这是可能的,但只知道在开发模式下,playn 运行速度非常慢。

我不知道如何使用 eclipse 来做到这一点,但是使用 intelli IDEA,您可以执行以下操作:

  1. 您需要创建一个带有战争工件的模块(作为服务器运行)
  2. 添加正确的 gwt 库,以便您可以使用上述 war 模块运行 gwt 开发模式服务器。
  3. 选择一个 GAE 服务器(或者,实际上是任何 gwt 兼容的服务器,这将是运行上述战争模块的服务器)。
  4. 运行!看到这个截图http://screencast.com/t/qK4JKvF33V
  5. 当您更改代码时,gwt devmode 服务器应该检测到它,并自动重新编译(不确定这是否需要处于调试模式 - 我认为不需要)。

您可以尝试通过命令行执行此操作,但不确定是否有效,但这是 intellij 运行的(我已经取出了 intellij 的特定位):

java -cp CLASSPATH_WITH_GAE_DEV_TOOLS_AND_GWT_DEV_TOOLS com.google.gwt.dev.DevMode 
     -war /path/to/war 
     -startupUrl Roborally.html com.yourgame.YourGwtEntryModule 
     -server com.google.appengine.tools.development.gwt.AppEngineLauncher
于 2013-06-10T10:04:02.127 回答