を使用jar cfm myApp.jar manifest.txt *.class
して jar を作成し、マニフェスト ファイルが jar 内で正しく配置されるようにする必要があります。
マニフェストの正しい場所はMETA-INF/MANIFEST.MF
.
アップデート
基本的に、準備したファイルを取得することで、コードを機能させました。java ファイルとマニフェストにパッケージ宣言を追加し、myApp から MyApp クラスを大文字にします。ファイルは、次のフォルダー構造に配置されます。
tbsmac:17162802-executing-java-file-through-cmd tbsalling$ ls -lR
total 0
drwxr-xr-x 3 tbsalling staff 102 19 Jun 18:48 META-INF
drwxr-xr-x 4 tbsalling staff 136 19 Jun 18:57 thank
./META-INF:
total 8
-rw-r--r-- 1 tbsalling staff 46 19 Jun 18:49 MANIFEST.MF
./thank:
total 16
-rw-r--r-- 1 tbsalling staff 124 19 Jun 18:49 MyApp.java
-rw-r--r-- 1 tbsalling staff 98 19 Jun 18:48 T1.java
3 つのファイルの内容は次のとおりです。
MyApp.java:
package thank;
class MyApp {
public static void main(String args[]) {
T1 t=new T1();
t.display();
}
}
T1.java:
package thank;
class T1 {
void display() {
System.out.println("Hey I am working");
}
}
マニフェスト.MF:
Main-Class: thank.MyApp
Manifest-Version: 1.0
次に、次の一連のコマンドを実行します。
tbsmac:17162802-executing-java-file-through-cmd tbsalling$ javac thank/T1.java thank/MyApp.java
tbsmac:17162802-executing-java-file-through-cmd tbsalling$ jar cfm myApp.jar META-INF/MANIFEST.MF thank/*.class
tbsmac:17162802-executing-java-file-through-cmd tbsalling$ java -jar myApp.jar
Hey I am working
^^^そしてそれは動作します;-)