在Win8上的IDEA中运行GWT SuperDevMode

时间:2013-12-06 07:22:29

标签: gwt windows-8 intellij-idea gwt-super-dev-mode

我正在尝试将我的GWT项目配置为在SuperDevMode中运行,并在服务器运行时遇到严重问题。

所以,我在Intellij IDEA中使用“常规”devMode配置。在app-servers列表中创建了一个新的GWT配置。设置以下值:

[Checked] Super Dev Mode

虚拟机选项: - Xmx512m -XX:MaxPermSize = 384M

开发模式参数:-bindAddress 0.0.0.0 -port 1234 -workDir d:\ projects \ myApp \ SDV \ -src d:\ projects \ myApp \ src \ main \ java com.app .MyApp

对我的项目的构建xml文件进行了更改,在文件末尾添加了行:

    <add-linker name="xsiframe"/>
    <set-configuration-property name="devModeRedirectEnabled" value="true"/>
    <!-- enable source maps -->
    <set-property name="compiler.useSourceMaps" value="true" />

以下是此配置运行的控制台输出:

workDir: d:\projects\myApp\SDV
deleting: d:\projects\myApp\SDV\com.app.MyApp\compile-1
binding: user.agent=safari
binding: compiler.useSourceMaps=true
binding: locale=en
Compiling module com.app.MyApp
   Compiling 1 permutation
      Compiling permutation 0...
      Source Maps Enabled
   Compile of permutations succeeded
Linking into d:\projects\myApp\SDV\com.app.MyApp\compile-1\war\myapp; Writing extras to d:\projects\myApp\SDV\com.app.MyApp\compile-1\extras\myapp
   Link succeeded
   Compilation succeeded -- 84.458s
Compile completed in 85210 ms
deleting: d:\projects\myApp\SDV\com.app.MyApp\compile-1
[ERROR] unable to create directory: d:\projects\myApp\SDV\com.app.MyApp\compile-1
com.google.gwt.core.ext.UnableToCompleteException: (see previous log entries)
    at com.google.gwt.dev.codeserver.CompileDir.mkdir(CompileDir.java:103)
    at com.google.gwt.dev.codeserver.CompileDir.create(CompileDir.java:93)
    at com.google.gwt.dev.codeserver.Recompiler.makeCompileDir(Recompiler.java:267)
    at com.google.gwt.dev.codeserver.Recompiler.compile(Recompiler.java:82)
    ....
    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)

Process finished with exit code 1

我怀疑它可能是Win8文件访问权限问题:无法创建目录,因为它未成功删除。上面日志中的两行都有这个文本:

deleting: d:\projects\myApp\SDV\com.app.MyApp\compile-1
在IDEA中,

是红色的(如果它有任何特殊含义)。

我取消选中了文件资源管理器中工作文件夹属性中的READ_ONLY复选框,并将idea64.exe作为Admin运行。我应该以某种方式运行这个代码服务器编译器“作为管理员”吗?有可能吗?

此外,它可能是一个配置问题,如果是,有人可以从下面的详细信息中看到它 - 我真的很感激帮助。提前谢谢!

更新

使用参数“-noprecompile”运行superDevMode配置会得到相同的结果:

workDir: d:\projects\myApp\sdv
deleting: d:\projects\myApp\sdv\com.app.MyApp\compile-1
Module setup completed in 865 ms
deleting: d:\projects\myApp\sdv\com.app.MyApp\compile-1
[ERROR] unable to create directory: d:\projects\myApp\sdv\com.app.MyApp\compile-1
com.google.gwt.core.ext.UnableToCompleteException: (see previous log entries)
    at com.google.gwt.dev.codeserver.CompileDir.mkdir(CompileDir.java:103)
    at com.google.gwt.dev.codeserver.CompileDir.create(CompileDir.java:93)
    at com.google.gwt.dev.codeserver.Recompiler.makeCompileDir(Recompiler.java:267)

所以,绝对看起来像文件访问问题(删除不能完成它的工作?)。 Javadoc到CompileDir.create()方法说:“Creates a new compileDir directory structure. The directory must not already exist, but its parent should exist.”似乎它已经存在。

2 个答案:

答案 0 :(得分:1)

我认为你的配置是正确的。我在我的Mac上使用相同的参数(使用另一个portnumber),它按预期工作。

文字的红色:

deleting: d:\projects\myApp\SDV\com.app.MyApp\compile-1

是正常的,表示没问题。

我不熟悉Windows 8,但会认为您不需要使用管理员权限运行idea.exe。我认为,取消选中只读复选框可以解决您的问题。

另一种方法是,使用Intellij创建workDir目录。

档案 - &gt;新 - &gt;目录

(这就是我所做的)。

答案 1 :(得分:1)

好的,GWT团队现在在GWT 2.7.0中修复了这个问题。 https://code.google.com/p/google-web-toolkit/issues/detail?id=8619

运行良好,即使我可以在IDE控制台中注意到该消息:

  

[WARN]无法删除&C; \ Users \ me \ AppData \ Local \ Temp \ gwt-codeserver-1341369077945982663.tmp \ com.bla.MyAPP \ compile-1&#39; (跳过)
   [错误]无法创建目录:C:\ Users \ me \ AppData \ Local \ Temp \ gwt-codeserver-1341369077945982663.tmp \ com.bla.MyAPP \ compile-1
  在com.bla.MyAPP中加载Java文件。

打印完成后,IDE继续运行应用服务器。

解决问题。