java - 通过 wsadmin 获取模块版本 (WAS 8.5)

标签 java websphere jython websphere-8 wsadmin

如何获取 WebSphere 8.5 服务器上已部署应用程序中特定模块的版本?

我尝试了以下命令。

获取所有已安装的应用程序:

wsadmin> $AdminApp list
MyApplicationEAR

获取此应用程序的版本 (MyApplicationEAR):

wsadmin> $AdminApp view MyApplicationEAR -buildVersion
Build-ID of application:  SNAPSHOT_17-07-2014_16-33-28_rev_123

列出该应用程序的所有模块:

wsadmin> $AdminApp listModules MyApplicationEAR
MyApplicationEAR#MyApplicationWeb.war+WEB-INF/web.xml
MyApplicationEAR#Toolbox.war+WEB-INF/web.xml

获取一个模块的版本 (MyApplicationWeb.war):

$AdminApp view MyApplicationEAR#MyApplicationWeb.war+WEB-INF/web.xml -buildVersion
WASX7015E: Exception while executing command: "$AdminApp view MyApplicationEAR#MyApplicationWeb.war+WEB-INF/web.xml -buildVersion". Exceptioninfo:
com.ibm.ws.scripting.ScriptingException: WASX7406E: The taskname buildVersion was not found in the application MyApplicationEAR.

但是如果我打开 WebSphere 管理控制台 GUI (localhost:xxxx/ibm/console) 并转到:

Applications >
  Application Types >
    WebSphere enterprise applications >
      MyApplicationEAR >
        MyApplicationEAR >
          Display module build IDs

我可以看到所有模块自己的版本。

EAR 的版本与 META-INF/MANIFEST.MFImplementation-Version: XXX 下每个模块的版本一样存储。

有人提示一下,如何使用 wsadmin(或 Java AdminClient API)获取这些模块版本吗?

最佳答案

如果您只运行模块的 View 命令,例如 $AdminApp view MyAppTestEAR#MyAppTest.war+WEB-INF/web.xml,在输出的末尾您会发现 构建 ID:1.1

wsadmin>$AdminApp view MyAppTestEAR#MyAppTest.war+WEB-INF/web.xml
MapModulesToServers: Selecting servers

Specify targets such as application servers or clusters of application servers
here you want to install the modules that are contained in your application. Mo
ules can be installed on the same application server or dispersed among several
application servers.
Also, specify the Web servers as targets that serve as routers for requests to
his application.
The plug-in configuration file (plugin-cfg.xml) for each Web server is generate
, based on the applications that are routed through.

Module:  MyAppTest
URI:  MyAppTest.war,WEB-INF/web.xml
Server:  WebSphere:cell=rad9vmNode02Cell,node=rad9vmNode02,server=server1

....  // cut off irrelevant output for short


ModuleBuildID: Module Build ID

Display module build IDs.

Module:  MyAppTest
URI:  MyAppTest.war,WEB-INF/web.xml
Build ID:  1.1
wsadmin>

更新
您实际上可以在您的应用程序上运行它,不必指定模块:

wsadmin>$AdminApp view MyAppTestEAR -ModuleBuildID
ModuleBuildID: Module Build ID

Display module build IDs.

Module:  MyAppTest
URI:  MyAppTest.war,WEB-INF/web.xml
Build ID:  1.1

要获取可用选项,您可以运行 -tasknames

wsadmin>$AdminApp view MyAppTestEAR -tasknames
CustomActivationPlan
MetadataCompleteForModules
JSPReloadForWebMod
MapWebModToVH
SharedLibRelationship
AppDeploymentOptions
MapJaspiProvider
MapModulesToServers
MapResEnvRefToRes
ModuleBuildID
MapSharedLibForMod
CtxRootForWebMod

关于java - 通过 wsadmin 获取模块版本 (WAS 8.5),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24915281/

相关文章:

ssl - WebSphere 6.1 中的 www.google.com SSL 证书问题

java - Websphere 8.5 中使用 JAASRealm 自定义 LoginModule

java - 如何将pyc(python编译文件)转换为java?

python - 任何 CPython 2.7 代码都可以在 Jython 2.7b3 中工作吗?

java - 如何在 thymeleaf 中包含 message.properties

java - 在 Java 中创建数组对象?

java - 使用 Ant 编译 Java - 不断出现错误 JNI 错误已发生

Javax.Mail尝试使用gmail的imap扩展来访问X-GM-MSGID

ant - 使用 ant 和 jython 的 WebSphere 配置

java - 在 Jython 中使用 python 文件是否需要 python 类?