Javaコマンドを手動で実行する4つの方法のまとめ(クラス、jarパッケージの手動実行)


1.最も一般的な方法:javaフルネーム
//ソース:
package com.zizhu;

public class Hello {
	
	public static void main(String args[]){
		System.out.println("Hello,World!! java command");
	}

}
java com.zizhu.Hello

もちろん、eclipseなどのIDEを使用する場合は、binディレクトリに切り替える必要があります.
cd D:\Java\WorkSpace\Hello\bin
D:
java com.zizhu.Hello

2.もしJAvaはjarパッケージに依存していますが、どのように実行しますか?例えばHelloはlog 4 jに依存する.JArパッケージ
//ソース:
package com.zizhu;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

public class Hello {
	
	private static Log log = LogFactory.getLog(Hello.class);
	
	public static void main(String args[]){
		log.debug("Hello,World!! java command");
	}

}

このときbinディレクトリの下にlibパッケージを新規作成しlog 4 j.JArとcommons-loggin.JArを入れて、次のコマンドを実行します.
cd D:\Java\WorkSpace\Hello\bin
D:
java -classpath lib/commons-logging-1.0.4.jar;lib/log4j-1.2.16.jar; com.zizhu.Hello

注意点:jarの後ろにセミコロンが必要です.そうしないと、実行できません.実行できない場合は、jarパッケージの名前を変更し、バージョン番号を削除し、できるだけ特殊な文字を含まないようにすることをお勧めします.これは成功しやすいです.少なくともspringのjarパッケージのフルネームは私が実行に成功したことがありませんが、名前を短くして、「.」はありません.特殊文字がないと、すぐに成功します.
3.javaコマンドはjarパッケージ(main関数を含む)を実行します.
//ソース:
package com.zizhu;

public class Hello {
	
//	private static Log log = LogFactory.getLog(Hello.class);
	
	public static void main(String args[]){
//		log.debug("Hello,World!! java command");
		System.out.println("command: java -jar test.jar");
	}

}

a.まず、このクラスをjarパッケージにする必要があります.
cd D:\Java\WorkSpace\Hello\bin
D:
jar cvf test.jar *

b.次にWinRARソフトウェアでjarパッケージを開き、/META-INFのリストファイルを見つけて、属性を追加する.
Main-Class: com.zizhu.Hello
注意点:1.Main-Class:コロンの後ろに必ずスペースを入れなければなりません.そうしないとだめです.2.com.zizhu.Helloの後ろは必ず車に戻らなければなりません.そうしないとだめです.最後のリストファイルは次のようになります.
Manifest-Version: 1.0
Created-By: 1.6.0_24 (Sun Microsystems Inc.)
Main-Class: com.zizhu.Hello
com.zizhu.Helloの後ろのこの車は表示されていませんが、必ず追加する必要があります.そうしないと、必ず実行できません.少なくとも私は測定しても実行できません.追加後、保存すると、WinRARから元のリストファイルを上書きするように指示され、確定すればいいです.
c.このjarファイルを実行する:
java -jar test.jar

4.自分でパッケージ化したjarファイルが他のjarパッケージに依存している場合、どのように実行しますか?
//ソース:
package com.zizhu;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

public class Hello {
	
	private static Log log = LogFactory.getLog(Hello.class);
	
	public static void main(String args[]){
		log.debug("command: java -jar test.jar");
	}

}

もちろん、まずHelloクラスをパッケージ化し、リストファイルを変更します.
Main-ClassプロパティとClass-Pathプロパティを追加します.
Manifest-Version: 1.0
Created-By: 1.6.0_24 (Sun Microsystems Inc.)
Main-Class: com.zizhu.Hello
Class-Path: lib/log4j.jar lib/commons-logging.jar

同様に、このスペースの場所スペースは、このリターンの場所は、最後に上書きされ、3の手順と同様に、最後に実行されます.
java -jar test.jar

4種類のjavaクラスを実行して、jarパッケージの方式は基本的に終わり、もちろんカスタムローダもあります.私の別の文章を参考にして、webプログラムの一部の業務をwindowsローカルタスクに変換することに成功しました.このwebプログラムの業務ロジックはspringのjarパッケージ、hibernateのjarパッケージを使用して、WEB-INF/libの下に全部で71のjarパッケージがあります.カスタムローダを使用してロードし、反射を使用してWebを正常に呼び出すビジネスロジックであり、javaコマンドを手動で実行し、手動で実行します.詳細は、次の項を参照してください.
カスタムClassLoaderの詳細_Webプログラムの一部のビジネスをローカルプログラムに変換して実行