【问题标题】:Jacl - What is the proper syntax for variable use in an option specifierJacl - 在选项说明符中使用变量的正确语法是什么
【发布时间】:2014-05-06 17:58:15
【问题描述】:

尝试在 Jacl 脚本中运行以下命令(在此调用之前已设置 $APPNAME):

$AdminApp install $EARFILE {-nopreCompileJSPs -distributeApp -nouseMetaDataFromBinary -nodeployejb -verbose -appname $APPNAME -createMBeansForResources -noreloadEnabled ...}

我收到以下错误。

WASX7017E: Exception received while running file "deploy_myk.jacl"; exception information: com.ibm.ws.scripting.ScriptingException: WASX7108E: Invalid data specified for install task: "AppDeploymentOptions."  
Errors are: 
"ADMA0085E: A validation error occurred in task Specifying application options. Application name, $APPNAME, is not valid.
 An application name cannot begin with a dot, cannot have leading or trailing spaces, cannot contain "]]>", and cannot contain any of the following characters:  \ / , # $ @ : ; " * ? < > | = + & % '"

我似乎无法找到说明在“选项”说明符字符串中使用脚本变量的文档。显然,必须有某种方法来做我想做的事情,即部署一个 EAR 文件,并在脚本运行时使用我选择的名称

【问题讨论】:

    标签: websphere websphere-8 wsadmin jacl


    【解决方案1】:

    Jacl/Tcl 是一种基于字符串的语言,{} 定界符防止变量插值,类似于 UNIX shell 编程中的''。你想要这样的东西:

    $AdminApp install $EARFILE "-nopreCompileJSPs -distributeApp -nouseMetaDataFromBinary -nodeployejb -verbose -appname $APPNAME -createMBeansForResources -noreloadEnabled ..."
    

    ...或:

    $AdminApp install $EARFILE [list -nopreCompileJSPs -distributeApp -nouseMetaDataFromBinary -nodeployejb -verbose -appname $APPNAME -createMBeansForResources -noreloadEnabled ...]
    

    这个Tcl tutorial 可能很有趣,尤其是“评估和替换”部分。

    或者,您可以通过切换到 -lang jython 来避免 Jacl 字符串的复杂性。

    【讨论】:

      【解决方案2】:

      您使用的变量必须在使用前设置。由于您没有包含有关您实际执行的任何详细信息,因此我认为这是缺少的。在您的脚本中,您应该能够从以下内容开始:

      # Set $APPNAME to be the first argument to this script.
      set APPNAME [lindex $argv 0]
      

      然后从那里出发。然后您可以使用您的应用程序名称作为第一个参数来运行您的 jacl 脚本。

      【讨论】:

      • 感谢您抽出宝贵时间提供帮助。我澄清了问题描述。
      猜你喜欢
      • 1970-01-01
      • 2016-03-31
      • 2013-12-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-08
      • 2016-12-07
      • 1970-01-01
      相关资源
      最近更新 更多