我正在尝试将我的 GWT 项目配置为在 SuperDevMode 下运行,并在服务器运行时遇到严重问题。
因此,我在 Intellij IDEA 中使用了“常规”devMode 配置。在 app-servers 列表中创建了一个新的 GWT 配置。设置以下值:
[已检查] 超级开发模式
虚拟机选项:-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。我也应该以某种方式“以管理员身份”运行这个 codeserver 编译器吗?可能吗?
也可能是配置问题,如果是这样,有人可以从下面的详细信息中看到它 - 我非常感谢您的帮助。提前致谢!
更新
使用参数“-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.
”似乎它已经存在。