相关疑难解决方法(0)

Sandbox针对Java应用程序中的恶意代码

在允许用户提交他们自己的代码以供服务器运行的模拟服务器环境中,任何用户提交的代码都可以在沙箱中运行,这与使用Applet在浏览器中不同,这显然是有利的.我希望能够利用JVM本身,而不是添加另一个VM层来隔离这些提交的组件.

使用现有的Java沙箱模型似乎可以实现这种限制,但是有一种动态方法可以仅为正在运行的应用程序的用户提交的部分启用它吗?

java plugins sandbox

88
推荐指数
5
解决办法
2万
查看次数

URLClassLoader和package-private方法的可访问性

我有一个类Formula,位于包中javaapplication4,我使用URLClassLoader加载.但是,当我从Test1位于同一个包中的另一个类调用它时,我无法访问其具有默认访问修饰符的方法(我可以访问公共方法).

我得到以下异常:

java.lang.IllegalAccessException:类javaapplication4.Test1无法使用修饰符""访问类javaapplication4.Formula的成员

如何从同一个包中访问在运行时加载的类的包私有方法?

我想使用不同的类加载器是一个问题,但不确定为什么(我已经设置了URLClassLoader的父级).

SSCCE再现问题(Windows路径) - 我想问题出在loadClass方法中:

public class Test1 {

    private static final Path TEMP_PATH = Paths.get("C:/temp/");

    public static void main(String[] args) throws Exception {
        String thisPackage = Test1.class.getPackage().getName();
        String className = thisPackage + ".Formula"; //javaapplication4.Formula
        String body = "package " + thisPackage + ";   "
                    + "public class Formula {         "
                    + "    double calculateFails() {  "
                    + "        return 123;            "
                    + "    }                          "
                    + "    public …
Run Code Online (Sandbox Code Playgroud)

java classpath classloader package

16
推荐指数
2
解决办法
2155
查看次数

标签 统计

java ×2

classloader ×1

classpath ×1

package ×1

plugins ×1

sandbox ×1