Eclipseでバッチ起動のJavaプログラムをデバッグする あと引数のこと

わかりにくいので、書き直した。

↓改訂版こちら
http://kijitoraneko.hatenablog.com/entry/20121228/1356674910

Javaを実行するバッチまたはシェルを書く

execute.bat

SET CONTEXT="C:\eclipse3.6\workspace3.6\DebugTest"
SET DLCONF=%CONTEXT%\config
SET REMOTE_DEBUG="-agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=y"
call %JAVA_HOME%\bin\java.exe -cp %CONTEXT%\bin %REMOTE_DEBUG% -Dsalesforce.config.dir=%DLCONF% kijitoraneko.Hello process.name=ExportKokyaku
pause

EclipseJavaを書く

package kijitoraneko;
public class Hello {
	public static void main(String[] args) {
		System.out.println("");
		System.out.println("java引数 → " + args[0]);
		String property = System.getProperty("salesforce.config.dir");
		System.out.println("VM引数 → " + property);
	}
}

execute.batの実行

C:\eclipse3.6>call C:\jdk1.6.0_13\bin\java.exe -cp "C:\eclipse3.6\workspace3.6\D
ebugTest"\bin "-agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=
y" -Dsalesforce.config.dir="C:\eclipse3.6\workspace3.6\DebugTest"\config" kijito
raneko.Hello process.name=ExportKokyaku
Listening for transport dt_socket at address: 8000

こんな感じで止まります。

Remote Java Applicationの実行

Run >> Debug Configurations で下記Windowを表示

そんで、今回実行するのはlocalのプログラムでport8000を指定したのでこんな具合で実行
そうするとEclipseデバッグポイントで止まります。