質問
JavaコードをBeanshellスクリプトとして使用したかったのですが、Beanshellは名前空間にないクラスを示す例外をスローしました。 Beanshellには内側のクラスがありませんか、それとも他に使用がありますか?
私のスクリプトはここにあります:
.......
.......
java code
.......
.......
MyClass m = new MyClass(); //Error here: MyClass not fount in namespace
class MyClass {
}
スクリプトで内部クラスを使用して、スクリプトで宣言します。
ありがとう、ビラル
解決
たぶんここでは愚かな答えでしょうが、それはmyclassの定義がある必要があるということかもしれません その上 ファイルでの使用法は?シェルプロセススクリプトは直線的に処理されませんか?
ドキュメントを簡単に見ると、これを綴りませんが、次のスクリプトのテストは確かに私にとって正常に機能します。
class MyClass {
}
MyClass m = new MyClass();
他のヒント
クラスの定義は、Beanshellによってサポートされていません。
Beanshell Innerクラスの構文を使用して、インターフェイスを実装できます。
x = new MyInterface() {
overriddenMethod() {
// ....
}
}
v = x.overriddenMethod();
または
overriddenMethod() {
//.....
}
// 'this' is a object of whatever Foo expects
//
new Foo(this);
あなたの場合、私はあなたがスクリプト化されたオブジェクトアプローチを使用した方が良いと思います:
myClass() {
// methods ...
return this;
};
m = myClass(); // new instance
追加情報: 匿名の内部クラス 議論として 使用できないため、実装を変数に割り当てる必要があります。 (jmeterで)
うまくいきません:
object.setContext(new SomeInterface(){
//implement methods
});
作品:
SomeInterface ctx = new SomeInterface(){
//implement methods
});
object.setContext(ctx);
それが誰かを助けることを願っています。
所属していません StackOverflow