それ以来、Rhino起動時は、まず"."と"js.jar"をクラスパスに含めるようにしている。
1. Javaソースファイル(fruits/Fruit.java):
package fruits;
public class Fruit {
public String name;
}
2. Javaクラスファイルを作成する(fruits/Fruit.class):
>javac fruits/Fruit.java
3. スクリプトファイル(fruit.js):
print(Packages.fruits.Fruit);
var fruit = new Packages.fruits.Fruit();
fruit.name = "banana";
print("fruit=" + fruit.name);
4-1. -classpathオプションに"."を入れ忘れた場合、指定されたJavaクラスが見つからないのでエラー:
>java -classpath js.jar org.mozilla.javascript.tools.shell.Main -w -debug fruit.js
[JavaPackage fruits.Fruit]
js: "fruit.js", line 2: uncaught JavaScript runtime exception: TypeError: [JavaPackage fruits.Fruit] is not a function, it is object.
at fruit.js:2
4-2. -classpathオプションに"."を含めると、期待通りJavaクラスを使える:
>java -classpath .;js.jar org.mozilla.javascript.tools.shell.Main -w -debug fruit.js
[JavaClass fruits.Fruit]
fruit=banana
0 件のコメント:
コメントを投稿