WLST ant 任务找不到 classpathref

WLST ant task not finding classpathref

我正在尝试使用 wlst 进行本地 weblogic 部署。我已经创建了一个 build.xml、build.properties 文件和一个简单的 wlst 脚本。我已经从命令行测试了脚本,它运行良好。但是,我很难让它从我的 ant 文件中执行。

build.xml

<project default="ListLibraries" name="WLST project">
<property file="build.properties" />

<taskdef name="wlst" classname="weblogic.ant.taskdefs.management.WLSTTask" classpathref="${weblogic.classpath.id}" />

  <target name="ListLibraries">
      <wlst fileName="${wlst.script.source}/ListLibraries.py" classpathref="${weblogic.classpath.id}" />
  </target>

</project>

build.properties

# Weblogic specific dirs
weblogic.home.dir=/Users/me/Oracle/Middleware/wlserver_10.3
weblogic.bin.dir=${weblogic.home.dir}/common/bin
weblogic.lib.dir=${weblogic.home.dir}/server/lib
weblogic.classpath.id=${weblogic.lib.dir}/weblogic.jar

#workspace dirs
wlst.script.source=/Users/me/workspaces/python/wls_config

这是我看到的:

$ ant Buildfile: /Users/me/workspaces/java/myarrow/local/build.xml

BUILD FAILED /Users/me/workspaces/java/myarrow/local/build.xml:4: Reference /Users/me/Oracle/Middleware/wlserver_10.3/server/lib/weblogic.jar not found.

Total time: 0 seconds

Blockquote

但是,weblogic.jar 确实存在:

$ ls -la /Users/me/Oracle/Middleware/wlserver_10.3/server/lib/weblogic.jar
-rwxrwxrw-  1 a84055  my\Domain Users  36339849 Feb 13 15:45 /Users/me/Oracle/Middleware/wlserver_10.3/server/lib/weblogic.jar

我在这里错过了什么?大概就在眼前吧

classpathref 需要对路径的引用,而不是物理路径。尝试使用 classpath 代替:

<taskdef name="wlst" classname="weblogic.ant.taskdefs.management.WLSTTask" 
                     classpath="${weblogic.classpath.id}" />

有关使用这两个属性的示例,请参阅 https://ant.apache.org/manual/Tasks/typedef.html

使用classpathref,您需要先创建一个引用:

<path id="weblogic.lib.path">
  <fileset file="${weblogic.classpath.id}"/>
</path>

<taskdef name="wlst" classname="weblogic.ant.taskdefs.management.WLSTTask" 
                     classpathref="weblogic.lib.path" />