2012-05-02 8 views
4

私は "CreateProcess error = 87"という問題を抱え、ここで解決策を見つけます。 Fail to launch application (CreateProcess error=87), can't use shorten classpath workaroundクラスパスを短縮するには?

私はすでにルートディレクトリに自分のプロジェクトを移動したが、それはまだクラスパスが長すぎる問題を訴える、 と私のproejctはスタイルを作らMavenのですが、私はすべての依存関係を削除することはできません。 クラスパスを短縮する他の方法はありますか?

答えて

0

私たちのプロジェクトでは同じ問題がありました。痛みは、クラスパス上のすべてのjarを明示的にリストする必要があることです。

私たちは、ディレクトリのリストを引数として取るカスタムランチャークラスを実装することで、この問題を解決しました。ランチャープログラムでは、これらのディレクトリにあるjarのリストを読み込み、クラスローダーを作成してjarファイルのリストを提供することができます。次に、クラスローダーを使用して実際のプログラムを実行します。

もちろん、ランチャーは必要なジャーのリストを他の方法で判断することができます。例えば、ファイルで提供することもできますし、好きなようにすることもできます。このソリューションの鍵は、実際のプログラムで使用されているクラスパス全体ではなく、コマンドラインでランチャーに必要なクラスパスを提供するだけでよいということです。

私はこれが助けてくれるといいですね。