import os.path, subprocess
from subprocess import STDOUT, PIPE
def compile_java (java_file):
subprocess.check_call(['javac', java_file])
def execute_java (java_file):
cmd=['java', java_file]
proc=subprocess.Popen(cmd, stdout = PIPE, stderr = STDOUT)
input = subprocess.Popen(cmd, stdin = PIPE)
print(proc.stdout.read())
compile_java("D:\\GFG.java")
execute_java("D:\\GFG")
上面的代码正在编译,但是在execute_java("D:\\GFG")
错误:无法找到或加载主类GFG \ r \ n'。
请帮忙
答案 0 :(得分:0)
假设GDG.class
中有D:\
个文件,执行java程序的命令是
java -cp D:\ GFG
这意味着:'执行一个java程序,主类是GFG
; D:\
目录位于类路径'。
java
将从D:\
加载您的程序类,尝试查找GFG
类并执行其main()
方法。
而是执行以下操作:
java D:\GFG
被解释为“在类D:\GFG
中执行代码”,这是没有意义的。