阻止java使用某些库

时间:2018-02-28 14:11:33

标签: java

环境:Java类编程实验室简介。

如果使用了禁止类的任何导入,是否可以强制Java抛出异常?例如,我有一个实验室,我特别希望他们计算一些几何,我不希望他们只使用内置库。

当前解决方案:Grep所有禁用关键字的java文件。事实上这是有效的。我希望他们的代码在编译时失败,这样他们就不会上班。

我的理论是他们必须让他们的主要课程延伸到一个项目"我提供的课程。项目类阻止访问被禁止的库 - 如果可能的话。

2 个答案:

答案 0 :(得分:1)

Java内置了防止加载类的机制,即SecurityManager。它不会使代码无法编译,但它将无法以异常运行。

根据您的需求创建SecurityManager并致电学生的项目。如果他们使用禁用库,则会抛出异常。

参考:https://docs.oracle.com/javase/tutorial/essential/environment/security.html

答案 1 :(得分:0)

对于学生来说,这可能是一个小硬核,但您可以通过使用maven或gradle编译项目来轻松解决问题。只需添加一个ant-task或其他任何内容来grep一些文本并使构建失败。

但它迫使你使用maven或gradle进行编译。也许你不想要那个。