我们可以使用带有 javax.scripting 框架的 3rd 方 jar 文件吗?有什么可以添加到类路径的吗?
问问题
437 次
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 回答