一个简单的windows批处理文件来运行java

问题描述:

m新的java。我想从Windows批处理文件运行java。我有一个编译的类Main.class在一个目录中。我想运行一个批处理文件放在同一个目录中。 我有一个系统变量设置为JAVA_HOME=C:\Program Files\Java\jdk1.7.0_06\bin一个简单的windows批处理文件来运行java

如果我想先用批处理文件编译类,该怎么办?

+0

您可以使用%JAVA_HOME%\ java Main – Reimeus

+0

'@“%JAVA_HOME%\ java”Main' – oldrinb

+0

一件小事情,JAVA_HOME不应包含\ bin,因为HOME实际上是'C:\ Program Files \的Java \ jdk1.7.0_06'。要使用它,你需要做“%JAVA_HOME%\ bin \ java”Main – RealHowTo

执行:

@echo off 
"%JAVA_HOME%\java.exe" Main 
PAUSE 

编译将与

"%JAVA_HOME%\javac" Main.java 

可选的东西来取代行:

echo off关闭命令的回波到CMD

pause是使cmd窗口不会在执行结束时立即关闭(这样你就可以读取你的命令的输出)

+0

从Main.java的主要方法中,我创建了一个名为MyNew.jave的新文件,当我想编译它时说 - 找不到符号 - MyNew newclass =新MyNew(); – Tanvir

+0

'MyGen gen = new MyGen();'你需要添加一个导入到包含MyGen类的成员。你在做那个吗?看看蚂蚁,如果你正在建立一个完整的项目。 –

编译代码使用:

javac Main.java 

运行您的代码使用:

java Main =>starts your code 

获取更多信息关于javac工具(输出名称,禁用警告等...)Press Here

+0

它显示没有classDefinitionFound错误,但类文件Main.class在那里。 – Tanvir

+0

阅读此处以获得有关此错误的一些想法:http://javarevisited.blogspot.co.il/2011/06/noclassdeffounderror-exception-in.html –

javac cfm jar Main.jar Main.class manifest.txt 

使含有manifest.txt:

Main-Class: Main 

后跟一个换行符正常工作(按Enter键一次)。 ,并在相同的输出文件夹中的批处理文件,包含:

@echo off 
set jarpath="Main.jar" 
java -jar %jarpath% %CD%Config.txt 
PAUSE 

运行批处理! :)