手动编译然后执行java代码的方法

不多说,上自己写的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!')

 

转载于:https://my.oschina.net/u/3223803/blog/1832484

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值