3

ネットワーク ドライブ上のディレクトリから JavaFX プロジェクトをビルドすると、驚くほど時間がかかります。遅延のほとんどは、ビルド スクリプトが /lib ディレクトリ全体を削除して再作成することが原因であると考えています。これには、プロジェクト用に変更されていない 20 MB を超える jar ファイルが含まれます。

プロジェクトをビルドするたびにこの lib フォルダーが再作成されないように、ANT ビルド タスクを変更するにはどうすればよいですか? ビルド時間を短縮するために他に何ができますか?

ネットワーク経由でのビルド時間が遅いもう 1 つの理由は、プロジェクトが常に /dist フォルダーから実行されることです。標準の Java SE プロジェクトの場合、プロジェクトをビルド ディレクトリから実行できるため、プロジェクトを実行するたびに /dist に新しい jar ファイルを作成する必要がなくなります。

/dist から実行する代わりに、ビルド ディレクトリの .class ファイルからプロジェクトを実行する方法はありますか?

以下は、netbeans によって生成されたビルド ファイルです。

4

2 に答える 2

5

ビルド ファイルをもっと見ると役に立ちます。実行中のターゲットのターゲット依存関係グラフが変更される可能性があります。言い換えれば、削除されないターゲットを作る lib/

はるかに大規模でクールなソリューションは、ivyを使用して、これらのライブラリをキャッシュされる場所に 1 回ダウンロードすること~/.ivyであり、チェックアウトするたびにフェッチする必要はありません。これにより、これらのバイナリをソース管理から切り離すことができます。

ローカルでの構築を妨げている理由は何ですか?

于 2013-10-09T21:48:56.033 に答える
2

以下の提案は、ご使用の環境でビルド速度が遅いという説明に基づいた開発作業に対してのみ提案されています。一般に、NetBeans JavaFX プロジェクトの開発ビルドがすでに十分に高速である場合、上記の設定は使用しないでください。本番アプリケーションをパッケージ化するには、別の設定を使用する必要があります。

NetBeans で JavaFX のクイック ビルドを取得する方法

  1. ソリッド ステート ドライブに投資します。
  2. ライブラリ ファイルをマシンのローカルに置くという kbb の提案に従ってください。
  3. NetBeans 7.4 + Java 8 を使用し、JavaFX プロジェクトではなく標準の Java プロジェクトを作成します。
  4. プロジェクトのプロパティの下で | ライブラリのチェックを外します:
    • クラスパスでプロジェクトをビルドする
  5. プロジェクトのプロパティの下で | ビルド | パッケージのチェックを外します:
    • JARファイルを圧縮する
    • コンパイル後に JAR をビルドする
    • 依存ライブラリのコピー
  6. プロジェクトのプロパティの下で | ビルド | 展開のチェックを外します:
    • プロジェクト メニューでネイティブ パッケージ オプションを有効にする
    • デフォルトで JavaFX RT アーティファクトが存在しない場合は、コンパイル クラスパスに保持します。
  7. プロジェクトのプロパティの下で | アプリケーション | Web Start のチェックを外します:
    • Web スタートを有効にする

NetBeans を使用してビルド パフォーマンスの問題を解決できない場合は、Intellij Idea を試してみてください (JavaFX プロジェクトのビルドには非常に効率的であることがわかりました)。

NetBeans での私の構築経験

標準の NetBeans JavaFX プロジェクトは、JavaFX プロジェクトを非常に迅速に (1 秒か 2 秒以内に) ビルドして実行します。それは、上記のビルド速度の提案のほとんどを適用しなくてもです. 数秒でビルドされるプロジェクトは、75 以上のライブラリを参照し、合計で 55 MB 以上のデータになります。ただし、そのビルドのタイミングはローカル ライブラリを使用する場合であり、ネットワーク上に保存されたライブラリを使用する場合ではありません。また、クイック ビルドでは Macbook Air (SSD を搭載) を使用しています。

プロジェクトが署名されている場合、署名プロセスにはライブラリ jar ごとに数秒かかります。

于 2013-10-10T06:13:30.520 に答える