问题标签 [beanshell]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Beanshell catch(ex):异常还是 Throwable?
beanshell catch(ex) 捕获什么类型的异常:Exception 还是 Throwable?
例子:
java - JEdit 宏 - 打开和保存文件
我有一个 JEdit (BeanShell) 宏,它打开一个特定文件,然后立即将文件保存到我的 c:\temp 文件夹中(这样我就不会意外更新真实文件)。
这是豆壳代码:
这给了我以下错误:
我尝试添加一个while循环来等待,直到 buffer.isLoaded()
它是真的,但这只是进入一个无限循环。
似乎起作用的是弹出一个消息框( Macros.message
)。但是,我真的不想进行这种不必要的对话。
我不太了解java,所以如果我犯了菜鸟错误,请告诉我。
更新:
添加了我自己的答案以显示Serhii 的答案指向的代码。
groovy - 是否有与 beanshell source() 方法等效的 groovy 方法?
我搜索了 groovy doc 并没有找到类似的东西,但是那里的东西组织得有点随意。我正在从 beanshell 切换到 groovy,并且正在使用 beanshell 中的 source("fileloc") 方法来内联包含其他实用程序 beanshell 脚本以供重用。是否有标准功能可以在 groovy 或最佳实践中执行此操作?
debugging - 如何调试 beanshell 脚本?
我在调试 beanshell 脚本时遇到了麻烦,我一直得到的是:
调用导入对象方法的异常。:在第 194 行:在文件中:内联评估:``import java.lang.reflect.InvocationTargetException; 导入 java.util.Arrays;一世 。. . '' : migrateModels (模型, apiManager, isSAPRetailImportCondition, isSAPAFSCondition)
从方法调用:initMissingImportSources:在行:-1:在文件中::目标异常:java.lang.reflect.InvocationTargetException
我正在尝试使用此代码检索完整的堆栈跟踪
是否有可能检索导致的异常?
非常感谢。
java - 如何在 JMeter 中将变量从一个线程组传递到另一个线程组
我有一个带有 2 个线程组的 JMeter 测试 - 第一个是单个线程(创建一些库存),第二个有多个线程(购买所有库存)。我使用 BeanShell 断言和 XPath 提取器来解析返回的值(即 XML)并存储变量(例如要购买的商品的 id)。
但是,在第一个线程组中创建的值,无论是提取到标准${jmeter}
类型变量还是${__BeanShell(vars.get("jmeter"))}
类型变量中,都不能在第二个线程组中使用。无论如何要在第一个线程组中创建一个变量并使其对第二个线程组可见?
java - 使用 BeanShell 在方法内执行脚本
我不太确定如何解释这一点,但这里是:
我希望能够将一些命令“插入”到将从外部文件加载的部分代码中。要解析和执行这些命令,我大概必须使用一些脚本,例如 BeanShell 的 eval 方法。问题是它似乎无法识别它所在的实例/方法。作为一个非常基本的例子,我想做类似的事情
这可能吗?我应该使用其他脚本工具吗?
java - 为调试/远程管理嵌入 Java 脚本语言的建议
我有一个相当复杂的服务器端应用程序,它经常需要我查看它的内部发生了什么来调试和修复问题。
因此,我嵌入了一个 Beanshell 实例,我可以远程登录(通常通过 ssh 隧道),但我想知道是否有更好的方法。
一些限制:
- 没有 readline 支持,我可以通过在 telnet 上使用 'rlwrap' 来解决这个问题,但它并不理想
- 变量和方法的制表符完成会非常好,但我还没有找到一种方法来做到这一点
- 预定义变量(访问我需要经常访问的东西)似乎不起作用,我必须预定义函数
总而言之,它相当笨重,尽管 Beanshell 有一个很好的优势,即它是 Java 的超集,所以没有人需要学习另一种编程语言来使用它。
我想知道其他人是否有任何通过脚本语言(Beanshell 或其他)促进远程调试/管理的经验,也许有人找到了更好的方法。
java - 我可以从 Java 写入 Beanshell 控制台吗?
我在我的应用程序中使用 Beanshell 作为嵌入式调试工具。这意味着我可以远程登录到我的应用程序并在它运行时查看它的内部结构(我通常使用 rlwrap 包装远程登录会话)。
问题是我发现打印到 Beanshell 控制台而不是应用程序本身的标准输出的唯一方法是 Beanshell 中的 print() 方法。
但是我想用 Java 编写可以从 Beanshell 调用的代码,它将输出到 Beanshell 控制台 - 即。它将显示在我的 telnet 会话中,而不是发送到应用程序的标准输出,就像您尝试使用 System.out 或 System.err 时一样。
这可能吗?
编辑:为了进一步澄清,我正在设置一个 Beanshell 服务器,如下所示:
我将如何修改它以便我可以编写一个输出到 telnet 会话(而不是我的应用程序的 System.out)的 Java 函数
parameter-passing - 将参数传递给远程 beanshell
我需要将参数传递给运行的远程beanshell 脚本
称呼。
是否可以从内部读取参数“p1”、“p2”和“p3” script.bsh
?
ps 通过bsh.args
的本地参数可以正常工作,但不能用于远程脚本。
java - BeanShell 中的匿名数组
是否有在 BeanShell 中声明匿名数组的语法?我想编写类似于以下的代码:
但是 BeanShell 找不到“asList”方法,大概是因为它不理解可变参数。
作为一种解决方法,我可以写:
但这似乎过于冗长。
匿名数组是否有紧凑的 BeanShell 语法,例如:
有没有更好的方法来完全解决这个问题?