不多说,上自己写的python脚本.能把.java文件作为参数运行,编译该文件并执行.
其实没什么难度,就是java的运行需要设定搜索的class的文件夹,不能直接设定绝对路径,不看资料
容易坑.
python代码:
'''编译java代码并执行,比较复杂,用python处理.
javac是代码编译,把.java文件编译成.class文件,比较简单;
java就讨厌了,必须用-classpath参数指明搜索范围,然后指定搜索的class文件名,
而且class文件名大小写必须与类定义的一样!'''
import sys
import subprocess
## 编译器与执行器
javac = r'C:\Program Files\Java\jdk1.8.0_66\bin\javac.exe'
java = r'C:\Program Files\Java\jdk1.8.0_66\bin\java.exe'
java_file = sys.argv[1] # 要编译的文件
java_path = '' # 运行的class文件的路径,java执行必须指定
temp = java_file.split('\\')
for i in range(len(temp)-1):
java_path += temp[i]
if i < len(temp)-2:
java_path += '\\'
java_class = temp[-1][0:-5] # 运行的class文件
print("Start to compile file: %s\n" % java_file)
subprocess.call([javac, java_file])
print('Compile OK!!!\n\n')
print('Start to run java class: %s\n\n' % java_class)
subprocess.call([java, "-classpath", java_path, java_class])
input('\n\nJava class finished!Press Enter to exit!')