1

GWT プロジェクトを SuperDevMode で実行するように構成しようとしていますが、サーバーの実行時に深刻な問題が発生します。

そのため、Intellij IDEA で「通常の」devMode 構成を使用しています。app-servers リストに新しい GWT 構成を作成しました。次の値を設定します。

【チェックあり】超開発モード

VM オプション: -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)

したがって、間違いなくファイル アクセスの問題のように見えます (削除は機能しませんか?)。CompileDir.create()メソッドへの Javadocは次のように述べています: " Creates a new compileDir directory structure. The directory must not already exist, but its parent should exist." 既に存在しているようです。

4

3 に答える 3

1

これは GWT チームによって GWT 2.7.0 で修正されました。 https://code.google.com/p/google-web-toolkit/issues/detail?id=8619

IDE コンソールに次のメッセージが表示されますが、問題なく動作します。

[警告] 「C:\Users\me\AppData\Local\Temp\gwt-codeserver-1341369077945982663.tmp\com.bla.MyAPP\compile-1」を削除できません (スキップ)
[エラー] ディレクトリを作成できません: C :\Users\me\AppData\Local\Temp\gwt-codeserver-1341369077945982663.tmp\com.bla.MyAPP\compile-1
com.bla.MyAPP に Java ファイルをロードしています。

これを出力した後、IDE は引き続きアプリ サーバーを実行します。

問題を解決します。

于 2015-04-30T23:36:09.123 に答える
1

あなたの設定は正しいと思います。Mac で同じパラメータを (別のポート番号で) 使用していますが、期待どおりに動作します。

テキストの赤色:

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

は正常で、問題がないことを示します。

私は Windows 8 に詳しくありませんが、管理者権限で idea.exe を実行する必要はないと思います。読み取り専用チェックボックスのチェックを外すと、問題が解決すると思います。

もう 1 つの方法は、Intellij で workDir ディレクトリを作成することです。

ファイル -> 新規 -> ディレクトリ

(それが私がしたことです)。

于 2013-12-06T08:57:23.033 に答える
0

また、プロジェクトを GWT 2.6.0 から 2.7.0 に変換する場合は、2.6.0 の実行構成を削除し、GWT 2.7.0 のデフォルトで新しい構成をセットアップする必要があることもわかりました。

于 2015-05-02T14:26:43.107 に答える