1

我们可以使用带有 javax.scripting 框架的 3rd 方 jar 文件吗?有什么可以添加到类路径的吗?

4

2 回答 2

0

我希望简单地将它放在调用脚本框架的进程的类路径中,然后导入相关的类(导入语句/机制显然会根据您使用的脚本语言而有所不同)

于 2012-11-13T11:31:45.707 回答
0

是的你可以。

尝试这个。

// import the packages.
importPackage(java.io);
importPackage(java.net);
importPackage(java.util);
importPackage(java.util.jar);

// Create a loader function
function loadJar( filename ){
    var file = new File(filename);
    // Create the class loader
    var loader = URLClassLoader.newInstance(new URL[]{file.toURI().toURL()});
    // The JAR file
    var jar = new JarFile(file);
    var entries = jar.entries();

    while (entries.hasMoreElements()){
        var element = entries.nextElement();
        if (element.getName().endsWith(".class")){
            try {
                // Load the class
                loader.loadClass(element.getName());
            } catch (Exception e){ e.printStackTrace(); }
        }
    }
}

在其他任何 jar 之前使用所有 jar 执行此脚本,这将起作用。MANIFEST.MF否则,您可以通过编辑文件将所需的库简单地添加到类路径中。

我还建议您使用beanshell即使在 JDK 1.1 上也可以使用的

对于 beanshell,您可以使用

addClassPath("<jar-file-name>");
于 2012-11-13T11:43:43.870 回答