2014-02-28 79 views
1

在6.1版本中,ant jar被拆分爲兩個jar:worklight-ant-builder.jar和worklight-ant-deployer.jar。我可以自己運行構建或部署任務,但我必須更改文件集。我想運行構建適配器並從單個ant腳本中部署適配器。如何使用單一ANT腳本構建和部署適配器Worklight 6.1

我已經嘗試了一些方法,包括在文件集的taskdef兩個罐子:「*罐子」

include name="*.jar" 

或 文件名名稱= 或 包括姓名=「工作燈螞蟻建設者。 jar「 include name =」worklight-ant-deployer.jar「

它幾乎就像任務不接受多個罐子一樣。構建總是工作,但只有當deployer.jar中的部署本身「包括名稱=」工作燈-ANT-deployer.jar中」。

<taskdef resource="com/worklight/ant/defaults.properties"> 
    <classpath> 
     <fileset dir="${worklight.server.install.dir}/WorklightServer"> 
     <include name="*.jar"/> 
     <!-- <filename name="*.jar"/> --> 
     <!-- <include name="worklight-ant-builder.jar"/> --> 
     <!-- <include name="worklight-ant-deployer.jar"/> -->   
     </fileset> 
    </classpath> 
    </taskdef> 

我瞭解多腳本的答案,但我想我不該。「T要做的,這是我的全部腳本:

<?xml version="1.0" encoding="UTF-8"?> 

<project name="BuildDeployAdapter" basedir="." default="help"> 

    <property name="worklight.server.install.dir" value="C:/IBM/Worklight61/"/> 
    <property name="adapter-source-files-folder" value="C:/Worklight/workspaces/base61p/HelloWorklight/adapters/HTTPAdapter"/> 
    <property name="destination-folder" value="C:/Worklight/workspaces/base61p/HelloWorklight/binANT"/> 
    <property name="myAdapter.adapter" value="${destination-folder}/HTTPAdapter.adapter"/> 
    <property name="http.server.port.context" value="http://mydomain:9080/worklight"/> 

    <taskdef resource="com/worklight/ant/defaults.properties"> 
    <classpath> 
     <fileset dir="${worklight.server.install.dir}/WorklightServer"> 
     <include name="*.jar"/> 
     <!-- <filename name="*.jar"/> --> 
     <!-- <include name="worklight-ant-builder.jar"/> --> 
     <!-- <include name="worklight-ant-deployer.jar"/> -->   
     </fileset> 
    </classpath> 
    </taskdef> 

    <target name="buildAdapter"> 
    <adapter-builder 
     folder="${adapter-source-files-folder}" 
     destinationfolder="${destination-folder}"/> 
    </target>  

    <target name="deployAdapter"> 
    <adapter-deployer deployable="${myAdapter.adapter}" 
         worklightserverhost="${http.server.port.context}" 
         userName="username" password="password" /> 
    </target> 

</project> 

現在我已經改用每個任務的包括罐子,當我要使用屏蔽包括 - 無論是包括姓名=」 的.jar 「或文件名稱=」 .jar「。這似乎是對不接受多個jar的特定任務的限制。我是否在此基地?

+0

你標有「蟻族這個問題「標籤,但它似乎大多與Worklight相關。如果您希望Ant社區提供有意義的答案,請提供更多詳細信息和上下文,例如兩個腳本中的'taskdef'定義 – Lolo

回答

1

給你提供的信息,似乎一個解決方案是創建一個單獨的腳本,將調用構建和序列部署腳本,像這樣:

<project name="Adapter Stuff" default="do.all" basedir="."> 
    <target name="do.all"> 
    <ant antfile="path/to/worklight-build-adapter.xml" 
     target="build-target" inheritall="false"/> 
    <ant antfile="path/to/worklight-deploy-adapter.xml" 
     target="deploy-target" inheritall="false"/> 
    </target> 
</project> 
+0

我理解多腳本答案,但我認爲我不應該這樣做。看到我上面的完整腳本。 ANT任務不可能接受多個罐子嗎? (我顯然不是ANT專家) – user3330426

相關問題