我目前正在创建一个个人(也许是公共的)java终端。我想创建一个命令,用于在执行时创建+编译Java文件,但我不太确定如何实际执行此操作。可能吗?还是我只是在做梦?使用Java文件中的代码编译Java文件
回答
我同意@ eee的评论,javax.script
可能是一个非常适合您的项目,脚本代码比Java代码更容易处理。我已经成功地将它用于插件API,我不记得有任何问题可以启动并运行它。
我在运行时编译真实Java的大多数项目都使用Eclipse compiler来完成。 Java 6 javac
也可以完全以编程方式访问。我从来没有使用过这些。如果需要,可以通过Commons-JCI访问这两个和其他一些编译器。
真的有必要了解这一切吗?我现在没有在寻找任何先进的东西,因为我只是在学习它的基础知识。一旦我拥有了所有的东西,我将升级所有的代码,使其全部安全。 – 2012-02-26 11:14:04
没有必要去学习它的所有*,只是选择一些东西,然后去做。如果你使用Java 7,那么Andrew Thompson的答案可能就是要使用的东西。 – Barend 2012-02-27 20:52:31
您也可以使用Groovy - 如果您只是想在应用程序中编译和运行一行或两行Java代码,那么它非常方便。应用程序可以使用常规的Java,而Groovy仅用于编译动态生成的代码。无论您选择哪种解决方案,请谨慎执行用户输入,因为代码可能导致安全问题(易受注入攻击)。
这是一个问题,因为我想要一段代码来编译一个完整的Java文件。 – 2012-02-26 11:16:29
在这种情况下,请查看Andrew Thompson的答案。您也可以尝试直接使用[JavaCompiler类](http://docs.oracle.com/javase/6/docs/api/javax/tools/JavaCompiler.html)。即使在某个临时文件中调用javac可执行文件也是可行的,但它不像人们提出的其他解决方案那样优雅或便携。 – 2012-02-26 13:10:22
编译Java文件
见STBC。它使用JavaCompiler
编译文本区域中的代码。
- 1. 使用java库将.class文件反编译为.java源代码
- 2. 使用Java程序编译Java文件
- 3. 编译java文件
- 4. 编译Java文件
- 5. eclipse中编译java文件
- 6. 编译Java文件,使用Windows Cmd的
- 7. 使用Java编译器API来编译多个java文件
- 8. 在Intellij中用反编译文件替换Java源代码
- 9. 如何在Java中编译.java文件?
- 10. 从java程序中编译.java文件?
- 11. 翻译文件,使用此代码谷歌翻译的Java API
- 12. 调试java文件编译(使用gwt)
- 13. 无法使用cygwin编译java文件
- 14. 反编译.java文件使用Proycon
- 15. 如何使用C++编译.java文件
- 16. 使用javac编译java文件
- 17. 在java代码中使用Jar文件
- 18. Ant排除文件编译java文件
- 19. 编译hadoop java文件
- 20. 未编译Java文件
- 21. Runtime.exec不编译java文件
- 22. Linux - 编译java文件(hsqldb)
- 23. 编译一些java文件
- 24. 反编译java类文件
- 25. Java .War文件编译
- 26. 编译包含java和scala代码的文件
- 27. 反编译后我的Java文件包含字节代码
- 28. Maven:排除编译中的java文件
- 29. JAVA文件中的JFlex编译错误
- 30. Excell文件的Java代码
检查Java脚本** javax.script **技术;例如:http://java.sun.com/developer/technicalArticles/J2SE/Desktop/scripting/ – ecle 2012-02-26 10:20:12