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" />
我正在尝试使用 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" />