「CreateProcess error=87」の問題に遭遇し、ここで解決策を見つけました。 アプリケーションを起動できません (CreateProcess エラー = 87)、短縮クラスパスの回避策を使用できません
私はすでにプロジェクトをルート ディレクトリに移動しましたが、それでもクラスパスが長すぎるという問題があり、私のプロジェクトは Maven スタイルであり、依存関係を削除できません。クラスパスを短縮する他の方法はありますか?
「CreateProcess error=87」の問題に遭遇し、ここで解決策を見つけました。 アプリケーションを起動できません (CreateProcess エラー = 87)、短縮クラスパスの回避策を使用できません
私はすでにプロジェクトをルート ディレクトリに移動しましたが、それでもクラスパスが長すぎるという問題があり、私のプロジェクトは Maven スタイルであり、依存関係を削除できません。クラスパスを短縮する他の方法はありますか?
私たちのプロジェクトでも同じ問題がありました。面倒なのは、クラスパス上のすべての jar を明示的にリストする必要があることです。
ディレクトリのリストを引数として取るカスタムランチャークラスを実装することで、この問題を回避しました。ランチャー プログラムでは、これらのディレクトリ内の jar のリストを読み取り、クラスローダーを作成して、それに jar のリストを提供できます。次に、クラスローダーを使用して実際のプログラムを実行します。
もちろん、ランチャーは必要な jar のリストを別の方法で決定することもできます。たとえば、ファイルで提供したり、好きな方法で提供したりできます。このソリューションの鍵は、実際のプログラムで使用されるクラスパス全体ではなく、ランチャーに必要なクラスパスのみをコマンド ラインで指定する必要があることです。
これが役立つことを願っています..