我想将Java编译器集成到我的应用程序中,但我不知道该怎么做。 我希望该用户可以在我的应用程序上编译和运行代码。 如果有人能帮助我,请告诉我从哪里开始。将Java编译器集成到我的应用程序中
回答
从Java 1.6开始,标准JDK为编译器提供了一个API。这意味着,您可以轻松编写一个Java程序来编译其他程序。
http://docs.oracle.com/javase/7/docs/api/javax/tools/JavaCompiler.html
编辑按照阿龙的评论:使用的编译器API的应用程序必须使用完整的JDK运行。 JRE不包含编译器API实现。
请注意y您需要使用JDK运行您的应用程序才能正常工作。使用此API时,JRE已不够用了。具体来说,你需要'tools.jar'。 –
第二种选择是将Eclipse Java编译器嵌入到代码中。这样做的好处是您的应用程序不需要运行SDK - 只需添加这个JAR即可。
注:添加编译器的应用程序创建一个巨大的安全风险。它基本上意味着任何人都可以开始对你的应用程序做任何事映入脑海的事情是:
- 攻击其他电脑,人与网站
- 看着电脑上的所有数据在其上运行应用程序
- 分析网络计算机是和攻击任何在同一个网络
- 计算机
只要求好奇心,网站如hackerrank,topcoder如何防范安全风险?为了竞争,你必须提交一些所需算法的java或C++代码,我假设他们在服务器端运行这些代码。使用java或c可以扫描所有文件系统并删除文件。保留一些“黑名单”关键字以防止出现这种情况是否合理?(例如,如果您看到BufferedReader,则不运行代码)。 – nihirus
- 1. 如何将C++编译器集成到C#应用程序中?
- 2. 将Zend翻译器集成到我的应用程序
- 3. 将Ruby/Rails应用程序集成到Java应用程序中。
- 4. 将grails集成到我的Java EE应用程序中
- 5. 我们可以将Java编译器集成到天蓝色的应用程序中吗?
- 6. 在我的应用程序中将Javascript集成到我的Rhodes应用程序
- 7. Java编译器Android应用程序
- 8. 将八度解释器集成到使用GCC 4.8.1编译的程序中
- 9. 我想将Skype集成到我的iPad应用程序中
- 10. 在Java桌面应用程序中集成文本编辑器
- 11. 将外部应用程序与我的应用程序集成
- 12. 将Ruby应用程序与我的Rails应用程序集成
- 13. 将.NET应用程序与Java应用程序集成 - JMS,ESB ...?
- 14. 如何将Fedex集成到我的asp.net应用程序中?
- 15. 如何将MySpace API集成到我的iPhone应用程序中?
- 16. 将youtube集成到我的iOS应用程序中
- 17. 如何将Google +集成到我的Android应用程序中?
- 18. 如何将Picasa API集成到我的iPhone应用程序中?
- 19. 如何将Octopress集成到我的Rails应用程序中?
- 20. 如何将AirPlay集成到我的应用程序中?
- 21. 如何将WhatsApp集成到我的iOS应用程序中?
- 22. 将vuforia集成到我自己的android应用程序中
- 23. 如何将Youtube集成到我的Android应用程序中
- 24. 将ZXing集成到我的应用程序中
- 25. 如何将InDesign PDF集成到我的Rails应用程序中
- 26. 如何将SAML集成到我的Rails应用程序中?
- 27. 如何将YouTube API集成到我的iPhone应用程序中?
- 28. 如何将dialog-polyfill集成到我的React应用程序中?
- 29. 将QT GUI DLL集成到我的应用程序中
- 30. 将Facebook登录集成到我的应用程序中
上安装木马或病毒在其他计算机这也许是:http://docs.oracle.com/javase/6/docs/api/javax/tools/JavaCompiler.html –