代码1package bat.test2;public class TestClass { public void PrintTest(String[] args) { System.out.println("参数1: " + args[0]);
System.out.println("参数2: " + args[1]);
}
}
代码2package bat.test2;public class BatTest2 { public static void main(String[] args) {
TestClass test = new TestClass();
test.PrintTest(args);
}
}
以上两段代码编译后打包成jar文件,并且制定了Main方法。bat文件(batch.bat)
@echo 开始批处理程序
@echo off
set CLASSPATH=.;battest2.jar;
java -classpath "%CLASSPATH%" bat.test2.BatTest2 %1 %2代码3public class BatTest { public static void main(String[] args) { String cmd = "cmd /c start";
String batPath = "D:\\code\\battest.bat"; try {
Runtime.getRuntime().exec(
cmd + " " + batPath + " " + args[0] + " " + args[1]);
} catch (IOException e) {
e.printStackTrace();
}
}
}
运行代码3之后能够在cmd窗口中看到“开始批处理程序”,说明bat文件调用成功。但是系统抛出java.lang.NoClassDefFoundError异常。另外,单独在控制台下执行bat文件(batch.bat 1 0)是可以输出结果的。不晓得在路径上出了什么错,还望各位能指点一下。
System.out.println("参数2: " + args[1]);
}
}
代码2package bat.test2;public class BatTest2 { public static void main(String[] args) {
TestClass test = new TestClass();
test.PrintTest(args);
}
}
以上两段代码编译后打包成jar文件,并且制定了Main方法。bat文件(batch.bat)
@echo 开始批处理程序
@echo off
set CLASSPATH=.;battest2.jar;
java -classpath "%CLASSPATH%" bat.test2.BatTest2 %1 %2代码3public class BatTest { public static void main(String[] args) { String cmd = "cmd /c start";
String batPath = "D:\\code\\battest.bat"; try {
Runtime.getRuntime().exec(
cmd + " " + batPath + " " + args[0] + " " + args[1]);
} catch (IOException e) {
e.printStackTrace();
}
}
}
运行代码3之后能够在cmd窗口中看到“开始批处理程序”,说明bat文件调用成功。但是系统抛出java.lang.NoClassDefFoundError异常。另外,单独在控制台下执行bat文件(batch.bat 1 0)是可以输出结果的。不晓得在路径上出了什么错,还望各位能指点一下。
这句set CLASSPATH=.;battest2.jar;
吧battest2.jar换成绝对路径试一下可能是在BatTest中调用,把这个相对路径替换成BatTest的路径了
set CLASSPATH=.;.\battest2.jar;