[解決済み】マニフェストファイルにあるメインクラスではないクラスをJarから実行する方法
2022-04-14 03:25:51
質問
私は4つのクラスを持つJARを持っており、各クラスはMainメソッドを持っています。私は必要に応じてそれらの各々を実行できるようにしたい。私はLinuxボックス上のコマンドラインからそれを実行しようとしています。
E.g. The name of my JAR is MyJar.jar
主なクラスのディレクトリ構成は以下の通りです。
com/mycomp/myproj/dir1/MainClass1.class
com/mycomp/myproj/dir2/MainClass2.class
com/mycomp/myproj/dir3/MainClass3.class
com/mycomp/myproj/dir4/MainClass4.class
私は、マニフェスト・ファイルで1つのクラスをメインとして指定できることを知っています。しかし、実行したいクラスを実行するために、コマンドラインで何らかの引数を指定する方法はないでしょうか?
こんなことをやってみました。
jar cfe MyJar.jar com.mycomp.myproj.dir2.MainClass2 com/mycomp/myproj/dir2/MainClass2.class /home/myhome/datasource.properties /home/myhome/input.txt
そして、こんなエラーが出ました。
com/mycomp/myproj/dir2/MainClass2.class : no such file or directory
(上記のコマンドでは、'/home/myhome/datasource.properties' と '/home/myhome/input.txt' がコマンドライン引数です).
解決するには?
マニフェスト・ファイルにMain-Classを記述せずにjarを作成することができます。そうすると
java -cp MyJar.jar com.mycomp.myproj.dir2.MainClass2 /home/myhome/datasource.properties /home/myhome/input.txt
関連
-
java.util.NoSuchElementException 原因解析と解決方法
-
ファインバグタイプ
-
Android Studio 3.1.2 で v4, v7 パッケージが見つからない シンボル 'AppCompatActivity' を解決できない
-
this()の呼び出しはコンストラクタ本体の最初の文でなければならない 例外解決と原因分析
-
Spring boot runs with Error creating bean with name 'entityManagerFactory' defined in class path resource
-
[解決済み] Could not find or load main class "とはどういう意味ですか?
-
[解決済み] ファイルの内容からJavaの文字列を作成するにはどうすればよいですか?
-
[解決済み] 実行中のJARファイルのパスを取得する方法は?
-
[解決済み] .jarを実行しようとすると "無効な署名ファイル "と表示される
-
[解決済み] コマンドラインから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 実装 サイバーパンク風ボタン
おすすめ
-
myeclipseでコンパイルするとAntエラーが発生する javaの例外が発生しました。
-
ファインバグタイプ
-
Dateが型に解決できない問題を解決する
-
をインスタンス化することができません。
-
Android Studio 3.1.2 で v4, v7 パッケージが見つからない シンボル 'AppCompatActivity' を解決できない
-
Enumとの組み合わせでswitchの使い方を一度覚えるために必要な定数式
-
eclipse の実行時に java 仮想マシンが見つからなかった
-
mavenプロジェクトのテストエラー java.lang.ClassNotFoundException: org.glassfish.jersey.client.ClientConfig の問題を解決する。
-
org.glassfish.jersey.servlet.ServletContainer
-
java -serverコマンドで「Error: no `server' JVM at ... jvm.dll」を解決する方法です。