[解決済み] コマンドラインからJARファイルを実行し、クラスパスを指定する
2022-06-18 12:17:54
質問
私は
JAR
ファイルをコンパイルし、マニフェストで Main-Class を指定しました (私は Eclipse の
エクスポート
関数を使用しました)。私の依存関係は、すべて以下のディレクトリにあります。
lib
. を使用するように指定しながら、私のJARファイルを実行する方法について、明確な答えが得られないようです。
lib/*
をクラスパスとして使用するように指定しながら、私の JAR ファイルを実行する方法について明確な答えが得られないようです。
試してみました。
]$ java -jar -cp .:lib/* MyJar.jar
]$ java -cp .:lib/* -jar MyJar.jar
]$ java -cp .:lib/* com.somepackage.subpackage.Main
etc...
というエラーがそれぞれ出ます。
Error: Could not find or load main class ....
を与えるか、あるいは
NoClassDefFoundError
が表示され、ライブラリが見つからないことを示します。
JAR ファイルを作り直すことも試しましたが、その際には
lib
ディレクトリとコンテンツも含めましたが、それでもダメでした...。
コマンドラインから JAR ファイルを実行し、使用するクラスパスを指定するにはどうすればよいですか。
どのように解決するのですか?
を指定した場合
-jar
を指定すると
-cp
パラメータは無視されます。
から ドキュメント :
このオプションを使用すると、JAR ファイルがすべてのユーザー クラスのソースとなり、他のユーザー クラスのパス設定は無視されます。
また、必要な jar ファイルを別の jar ファイルに "include" することはできません (内容を展開して .class ファイルを jar ファイルに入れる必要があります)。
2つのオプションがあります。
-
のすべての jar ファイルをインクルードする。
lib
ディレクトリのすべての jar ファイルをマニフェストに含めます (相対パスを使用することができます)。 -
すべてを指定する (
を含む
jar) をコマンドラインで指定します。
-cp
:
java -cp MyJar.jar:lib/* com.somepackage.subpackage.Main
関連
-
VMの初期化中にエラーが発生しました java/lang/NoClassDefFoundError: java/lang/Object
-
java.lang.NoClassDefFoundError: org.apache.jasper.el.ELContextImpl クラスを初期化できませんでした。
-
[解決済み] MySQLでコマンドラインを使用してSQLファイルをインポートするにはどうすればよいですか?
-
[解決済み] Git上でシェルコマンドを実行する際に使用するSSH-keyの秘密鍵を指定する方法は?
-
[解決済み] MySQLでコマンドラインを使用してユーザーアカウントのリストを取得するにはどうすればよいですか?
-
[解決済み] シェルコマンドの実行と出力のキャプチャ
-
[解決済み] コマンドラインから .bash_profile を再読み込みする方法は?
-
[解決済み] コマンドラインからすべての環境変数をリストアップ
-
[解決済み] コマンドラインからの 'git commit -m' に改行を追加する
-
[解決済み] .jarを実行しようとすると "無効な署名ファイル "と表示される
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Dateが型に解決できない問題を解決する
-
javaの模造品QQ WeChatのチャットルーム
-
JQuery DataTable 详解
-
サーブレットクラスのインスタンス化エラーの解決法
-
スレッド "main" での例外 java.lang.ArrayIndexOutOfBoundsException: 1
-
javaでよく使われる英単語
-
mavenプロジェクトのテストエラー java.lang.ClassNotFoundException: org.glassfish.jersey.client.ClientConfig の問題を解決する。
-
maven プラグイン エラー プラグインの実行は、ライフサイクル構成ソリューションの対象外です。
-
[解決済み] java swingアプリケーションでJCEがプロバイダBCを認証できない
-
[解決済み] JNIエラーが発生しました。インストールを確認し、Eclipse x86 Windows 8.1で再試行してください。