对 WebSphere Admin Server 提供的糟糕的 API 感到沮丧,我正在编写自己的 Java DSL 包装器。我的 jython 文件现在只需阅读:
from my.package import MyDSL
config = MyDSL(AdminConfig, AdminTask)
config.goGoGadgetSkates() # or something like that
重要的部分是我通过 (#%$$!@#) 上帝对象发送AdminConfig
,AdminTask
以便 DSL 可以使用它们在 WAS 中执行操作。
为了编译 DSL,我需要包含这两个对象的类文件。我通过首先将构造函数设置为:
public MyDSL(Object a, Object b) {
System.out.println(a.getClass());
System.out.println(b.getClass());
}
输出显示 AdminConfig 对象是com.ibm.ws.scripting.AdminConfigClient
. 我很容易找到包含这个类的罐子,一切都很好。
但 AdminTask 是com.ibm.ws.scripting.adminCommand.AdminTask
. 尽管在运行时存在,但这个类在我的类路径中的任何地方都不存在,甚至在我的计算机硬盘驱动器上的任何地方都不存在。
我只能假设com.ibm.ws.scripting.adminCommand.AdminTask
是由 WSAdmin 在 jython 层中神奇地构建的。也许它被定义为一个python类?
在我诉诸反思之前,有人可以解释一下com.ibm.ws.scripting.adminCommand.AdminTask
可能住在哪里以及如何提取类文件的副本吗?