2017-03-01 54 views
2

我正在嘗試使用wlst進行本地weblogic部署。我創建了一個build.xml,build.properties文件和一個簡單的wlst腳本。我已經從命令行測試了這個腳本,並且它完美地工作。但是,我很難從我的ant文件中執行它。WLST ant任務未找到classpathref

的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 

我在這裏錯過了什麼?這可能是在我眼前。

回答

3

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" /> 
+1

你是我的救命恩人!謝謝! – RockyMountainHigh