問題タブ [gwt-compiler]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - GWTコンパイルからキャッシュファイルのランダムではない名前を取得することは可能ですか?
プロジェクトの war ファイルを Lighthttp サーバーにロードしようとすると、次のような生成された JS ファイルに対してサーバーから「ファイル名が長すぎます」というエラーが表示されます。
"733C57A6999C647D009A3EBA1F5CEF9C.cache.js"
コンパイル時にcollapse allプロパティを使用しているため、JSファイルは1つだけ作成されます
コード自体またはxmlファイルで、コンパイル前に短い名前を生成するためにできることがあるかどうかを知りたかった(毎回ファイルの名前を変更する必要はありません)
どんな助けでも本当にありがたいです。
java - 下位互換性を促進するためのカスタム リソース キーの生成
リソースのキーをデフォルトの「メソッド名」メソッドからカスタム指定のキーに変更できることを最近発見しました。
現在、形式を「ドット区切り」形式 (通常は Java プロジェクトで使用されます) に切り替えることを考えています。
これは、アノテーションを使用するか、アノテーションを使用し@Key("my.new.key")
てカスタムを提供することで実現できます。KeyGenerator
@GenerateKeys
問題は、新しい形式と古い形式をサポートするソリューションを探していることです。これは下位互換性のために必要です。ツールを公開すると、彼らは独自のプロパティ ファイルを (カスタム コンテンツと共に) 提供できます。これは、新しい形式に合わせてキーを変更できないことを意味します。
現在、新しいキー (利用可能な場合) を使用し、必要に応じて古いキーにフォールバックするソリューションを探しています。
私は賢いと思って、これを思いついたKeyGenerator
:
プロパティファイルに新しいキーが存在するかどうかを確認します。ある場合は返却し、そうでない場合は古いキーを返却してください。
ただし、次のエラーが表示されます。
KeyGenerator
これは、 my が存在しない場合にのみ使用されるか@Key
、 my が実行される前にこの GWT チェックが実行されることを示唆しているようKeyGenerator
です。
これを解決する方法を知っている人はいますか?それとも、誰かが別の解決策を知っていますか?
アップデート
ここでこれを見つけました:
@Key(String key)
この特定のメソッドの外部形式で使用するキーを指定します。指定されていない場合は
@GenerateKeys
、上記の注釈に基づいて生成されます。
私の目標を達成できないように見える...他の提案はありますか?
java - GWT RPC 非同期呼び出しを GWT.runAsync RunAsyncCallback 分割ポイントとして使用するには?
私たちは GWT RPC の非常にヘビーなユーザーであり、GWT RPC をフレームワークにラップして、はるかに使いやすくしました。アプリケーションは大きく、さらに大きくなる予定なので、分割点についてもっと考える必要があります。アプリの分割ポイントを持つ非常に自然な方法の 1 つは、GWT RPC 呼び出しに関するものです。それらはすでに非同期であり、その観点から安全であり、アプリケーションの領域を非常にうまく分離しています。
問題は、開発者が二重非同期呼び出しで明示的にコーディングすることなく、GWT RPC 呼び出しの周りに GWT 分割ポイントを一般的に適用する方法があるかどうかです。具体的には、これを行いたくありません。
フレームワーク内に GWT.runAsync ラッピングを追加しようとしました (すべての GWT RPC 呼び出しで実行可能)。しかし、それは汎用的で常に必要なフレームワーク メソッドの小さな本体を分割するだけです - GWT (2.7.0) は決定できません (byこれは、このメソッドへのすべての呼び出しに適用でき、また適用する必要があります)。
開発者が runAsync でコードを追加で特別にラップする必要なく、これを達成する方法はありますか?
ありがとう!
gwt - システム メモリを GWT SuperDev モードの作業ディレクトリとして使用する
私は GWT SuperDev モードを使用して、大量の codeserver 一時ファイルを生成する巨大な GWT プロジェクトをコンパイルしています。このファイルは Windows%TEMP%
パスに保存され、大量のディスク領域を浪費するため、毎日手動でクリーニングする必要があります。さらに、ハードドライブ上のデータへのアクセスはRAMよりもはるかに遅いため、プロジェクトをデバッグし、後でメモリを解放するときに、これらのファイルをHDDではなくRAMに保持するようにGWTコンパイラに強制する方法があるかどうかを知りたいです。 SuperDev デバッグ モードを停止しますか? (つまり、GWT の作業ディレクトリとして代わりにシステム メモリを使用したい)
java - GWT コンパイラ NoSuchMethodError
GWT コンパイラが NoSuchMethodError で失敗し始めました。メソッドパラメーターを Long から long に更新したときに発生し始めました。必要はありませんが、元に戻そうとしましたが、まだ同じエラーが発生しています。私の Java Eclipse ランタイム コンパイラはこの行をエラーとして認識せず、すべてが開発モードで正常に動作しています。
つまり、long と Long を別の型として扱っているようです。実際のメソッドは次のようになります。
これが何か関係があるかどうかはわかりませんが、エラーメッセージでは、コードの内容とは少し異なる行が出力されています。long 変数「val」を「Long.valueOf(val)」に置き換えました。
長いバージョンと長いバージョンの両方を追加して、この問題が解決したかどうかを確認してみましたが、別の場所で同様にエラーが発生しました。これは GWT のバグですか、それとも設定が間違っている可能性がありますか?
完全なコンパイラ ログは次のとおりです。