Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在我的应用程序中集成Java编译器_Java - Fatal编程技术网

在我的应用程序中集成Java编译器

在我的应用程序中集成Java编译器,java,Java,我想在我的应用程序中集成java编译器,但我不知道该怎么做。 我希望用户可以在我的应用程序上编译和运行代码。 如果有人能帮助我,请告诉我应该从哪里开始。从Java 1.6开始,标准JDK附带一个API到编译器。也就是说,您可以轻松编写一个Java程序来编译其他程序 根据Aaron的评论编辑:使用编译器API的应用程序必须使用完整的JDK运行。JRE不包括编译器API实现。第二种选择是将Eclipse Java编译器嵌入到代码中。这样做的好处是,您的应用程序不需要SDK来运行—只需添加这个JAR

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

从Java 1.6开始,标准JDK附带一个API到编译器。也就是说,您可以轻松编写一个Java程序来编译其他程序


根据Aaron的评论编辑:使用编译器API的应用程序必须使用完整的JDK运行。JRE不包括编译器API实现。

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

详细信息记录如下:

注意:向应用程序添加编译器会产生巨大的安全风险。它基本上意味着任何人都可以开始用你的应用程序做任何事情。我想到的是:

  • 攻击其他计算机、人员和站点
  • 查看运行应用程序的计算机上的所有数据
  • 分析计算机所在的网络并攻击同一网络中的任何其他计算机
  • 在计算机上安装特洛伊木马或病毒

这可能是:请注意,您需要使用JDK运行应用程序,才能使其正常工作。使用此API时,JRE不再足够。具体来说,你需要
tools.jar
。只是好奇一下,像hackerrank、topcoder这样的网站是如何防止安全风险的?为了竞争,你必须提交一些java或C++代码,它们是期望的算法,我假设它们在服务器端运行这些代码。使用java或c可以扫描所有文件系统并删除文件。保留一些“黑名单”关键字以防止出现这种情况有意义吗?(比如,如果您看到BufferedReader,则不运行代码。)