天天看點

Main方法傳遞參數執行動态程式

兩種辦法:

1. java類參數傳遞

                通過數組取值:

  string diskname=args[0];

  string tablename=args[1];

 java 類名 參數1 參數2

  d:/myeclipse/common/binary/com.sun.java.jdk.win32.x86_1.6.0.013/bin/java -ddiskname=c://image -xms128m -xmx512m -dtablename=t_image_4 -dfile.encoding=gbk -classpath %cp% com.artron.image.util.main c://image t_image_4

2.系統屬性設定傳遞參數

java -ddiskname=c://image -dtablename=t_image_4 類名

string diskname=system.getproperty("diskname");

string tablename=system.getproperty("tablename");

如下類:

package com.artron.image.util;

public class main {

 /**

  * @param args

  */

 public static void main(string[] args) {

  system.out.println(diskname);

  system.out.println(tablename);

  system.out.println(system.getproperty("diskname"));

  system.out.println(system.getproperty("tablename"));

  //listfileutil.listallfiles(diskname,tablename);

 }

}

調用:

bat調用:

一. a.bat

set cp=%cp%;%1

2.  test.bat

@echo off

set cp=config

for %%i in (lib/*.jar) do call a.bat %%i

set cp=%cp%;

d:/myeclipse/common/binary/com.sun.java.jdk.win32.x86_1.6.0.013/bin/java -ddiskname=c://image -xms128m -xmx512m -dtablename=t_image_4 -dfile.encoding=gbk -classpath %cp% com.artron.image.util.main c://image t_image_4

pause

目錄結構

com

lib

a.bat

test.bat

項目運作隻需要一個jre就行了,把jre或者jdk裡面的jre拷貝一份到項目的檔案夾,在.bat批處理檔案加上set path=%path%;jre的目錄;項目運作時就直接用這一套jre了

set path=%path%;jre的目錄

set path=./jre/bin;%1;%path%;