Java 如何在JNLP执行期间检测函数是否可用?

Java 如何在JNLP执行期间检测函数是否可用?,java,security,deployment,permissions,jnlp,Java,Security,Deployment,Permissions,Jnlp,我有一个确实应该安装的应用程序,但在使用JNLP部署时工作良好 但是,一些Java函数,如Runtime.exec似乎无法使用默认的安全选项 因此,我想了解依赖于这些功能的UI功能 所以我的问题是,如何在运行时检测某些函数是否可用? 当然,这里的案例研究是Runtime.exec您想询问您是否拥有使用checkExec方法的exec权限。我还发现,将以下内容添加到JNLP文件中: <security> <all-permissions/> </securit

我有一个确实应该安装的应用程序,但在使用JNLP部署时工作良好

但是,一些Java函数,如
Runtime.exec
似乎无法使用默认的安全选项

因此,我想了解依赖于这些功能的UI功能

所以我的问题是,如何在运行时检测某些函数是否可用?


当然,这里的案例研究是
Runtime.exec

您想询问您是否拥有使用checkExec方法的exec权限。

我还发现,将以下内容添加到JNLP文件中:

<security>
    <all-permissions/>
</security>


签署JAR文件允许应用程序以
Runtime.exec

所需的所有权限运行对于Runtime.exec的特定示例,SecurityManager类checkExec(String cmd)上有一个方法,该方法将抛出一个异常,可以捕获该异常以确定是否可以执行必要的命令。有关更多信息,请参阅用于Runtime.exec和SecurityManager.checkExec的javadoc

更一般的情况需要创建一个表示正在检查的任务的权限对象,并运行SecurityManager的checkPermission方法