在我的应用程序中集成Java编译器
我想在我的应用程序中集成java编译器,但我不知道该怎么做。 我希望用户可以在我的应用程序上编译和运行代码。在我的应用程序中集成Java编译器,java,Java,我想在我的应用程序中集成java编译器,但我不知道该怎么做。 我希望用户可以在我的应用程序上编译和运行代码。 如果有人能帮助我,请告诉我应该从哪里开始。从Java 1.6开始,标准JDK附带一个API到编译器。也就是说,您可以轻松编写一个Java程序来编译其他程序 根据Aaron的评论编辑:使用编译器API的应用程序必须使用完整的JDK运行。JRE不包括编译器API实现。第二种选择是将Eclipse Java编译器嵌入到代码中。这样做的好处是,您的应用程序不需要SDK来运行—只需添加这个JAR
如果有人能帮助我,请告诉我应该从哪里开始。从Java 1.6开始,标准JDK附带一个API到编译器。也就是说,您可以轻松编写一个Java程序来编译其他程序
根据Aaron的评论编辑:使用编译器API的应用程序必须使用完整的JDK运行。JRE不包括编译器API实现。第二种选择是将Eclipse Java编译器嵌入到代码中。这样做的好处是,您的应用程序不需要SDK来运行—只需添加这个JAR即可 详细信息记录如下: 注意:向应用程序添加编译器会产生巨大的安全风险。它基本上意味着任何人都可以开始用你的应用程序做任何事情。我想到的是:
- 攻击其他计算机、人员和站点
- 查看运行应用程序的计算机上的所有数据
- 分析计算机所在的网络并攻击同一网络中的任何其他计算机
- 在计算机上安装特洛伊木马或病毒
tools.jar
。只是好奇一下,像hackerrank、topcoder这样的网站是如何防止安全风险的?为了竞争,你必须提交一些java或C++代码,它们是期望的算法,我假设它们在服务器端运行这些代码。使用java或c可以扫描所有文件系统并删除文件。保留一些“黑名单”关键字以防止出现这种情况有意义吗?(比如,如果您看到BufferedReader,则不运行代码。)