首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从java程序中编译.java文件?

从java程序中编译.java文件?
EN

Stack Overflow用户
提问于 2012-04-15 08:03:08
回答 1查看 219关注 0票数 2

我找到了这段代码:

代码语言:javascript
复制
JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();

if(compiler.run(null, null, null, fileName) != 0) {
    System.err.println("Could not compile.");
    System.exit(0);
}

但是,这将返回一个NullPointerException

代码语言:javascript
复制
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at net.foxycorndog.foxy.compiler.Compiler.compile(Compiler.java:25)
at net.foxycorndog.foxy.compiler.Parser.parse(Parser.java:41)
at net.foxycorndog.foxy.Foxy$ActionHandler.actionPerformed(Foxy.java:99)

我读到JRE不包含在java程序中编译的能力,但JDK包含。

我不想要一个只在几台计算机上运行的程序,这些计算机必须手动设置JDK库的路径,而不是JRE。考虑到这一点,有没有解决这个问题的办法呢?

如果可能的话,我也希望它能在跨平台上工作。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-04-15 08:05:35

JRE不包含编译器,而JDK包含编译器,这一事实是无法解决的。如果您想使用Java编译器,那么您需要使用JDK运行您的程序。

但是,还有其他方法可以在运行时创建可执行的Java代码;有各种字节码汇编程序可以让您在不使用编译器的情况下动态构建代码。ASM是一个坚硬的摇滚乐;Apache BCEL是另一个。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10158423

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档