javax.scripting フレームワークでサードパーティの 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 ファイルより前に実行すると、これが機能します。MANIFEST.MF
それ以外の場合は、ファイルを編集して、必要なライブラリをクラスパスに追加するだけです。
beanshell
また、JDK 1.1 でも動作するものを使用することをお勧めします。
ビーンシェルの場合、使用できます
addClassPath("<jar-file-name>");
于 2012-11-13T11:43:43.870 に答える