2014-01-08 56 views
0

我想将Java编译器集成到我的应用程序中,但我不知道该怎么做。 我希望该用户可以在我的应用程序上编译和运行代码。 如果有人能帮助我,请告诉我从哪里开始。将Java编译器集成到我的应用程序中

+6

上安装木马或病毒在其他计算机这也许是:http://docs.oracle.com/javase/6/docs/api/javax/tools/JavaCompiler.html –

回答

7

从Java 1.6开始,标准JDK为编译器提供了一个API。这意味着,您可以轻松编写一个Java程序来编译其他程序。

http://docs.oracle.com/javase/7/docs/api/javax/tools/JavaCompiler.html

编辑按照阿龙的评论:使用的编译器API的应用程序必须使用完整的JDK运行。 JRE不包含编译器API实现。

+1

请注意y您需要使用JDK运行您的应用程序才能正常工作。使用此API时,JRE已不够用了。具体来说,你需要'tools.jar'。 –

0

第二种选择是将Eclipse Java编译器嵌入到代码中。这样做的好处是您的应用程序不需要运行SDK - 只需添加这个JAR即可。

详细情况记录在这里:http://help.eclipse.org/kepler/index.jsp?topic=%2Forg.eclipse.jdt.doc.user%2Ftasks%2Ftask-using_batch_compiler.htm

注:添加编译器的应用程序创建一个巨大的安全风险。它基本上意味着任何人都可以开始对你的应用程序做任何事映入脑海的事情是:

  • 攻击其他电脑,人与网站
  • 看着电脑上的所有数据在其上运行应用程序
  • 分析网络计算机是和攻击任何在同一个网络
  • 计算机
+0

只要求好奇心,网站如hackerrank,topcoder如何防范安全风险?为了竞争,你必须提交一些所需算法的java或C++代码,我假设他们在服务器端运行这些代码。使用java或c可以扫描所有文件系统并删除文件。保留一些“黑名单”关键字以防止出现这种情况是否合理?(例如,如果您看到BufferedReader,则不运行代码)。 – nihirus

相关问题