Apache Ant ServerDeploy 使用者手冊

作者


目前任務支援

未來我們預期會有更多選擇性任務支援其他 J2EE 伺服器。


任務應用程式伺服器
serverdeploy巢狀元素
generic一般任務
jonasJOnAS 2.4
weblogicWebLogic

ServerDeploy 元素

說明

serverdeploy 任務用於執行特定廠商 J2EE 伺服器的「熱」部署工具。此任務需要巢狀元素來定義所執行特定廠商部署工具的屬性。特定廠商部署工具元素可能會強制執行哪些屬性為必要,具體取決於工具。

參數

屬性 說明 必要
action 這是要執行的動作。在多數情況下,這會是 deploy。有些工具支援其他動作,例如 deletelistundeployupdate,...。
source 要部署的元件的完整路徑/檔名。這可能是 .ear.jar.war,或伺服器支援的任何其他類型。 取決於工具

指定為巢狀元素的參數

serverdeploy 任務支援巢狀 classpath 元素來設定類別路徑。

特定廠商巢狀元素

也支援巢狀特定廠商元素。

所有工具使用的參數

屬性 說明 必要
classpath 傳遞給執行工具的 JVM 的類別路徑。類別路徑也可以提供為巢狀元素。 取決於工具
server 將元件部署到的伺服器的位址或 URL。 取決於工具
username 擁有權限將應用程式部署到伺服器的使用者。 取決於工具
password 擁有權限將應用程式部署到伺服器的使用者的密碼。 取決於工具

一般元素

此元素提供給一般 Java 基礎的部署工具。一般任務接受(但不要求)巢狀的 argjvmarg 元素。JVM 將會使用提供的屬性產生。建議儘可能使用特定供應商的元素,而非一般元素。

一般元素支援下列屬性。

屬性 說明 必要
classname 這是要執行的 Java 基礎部署工具的完整類別名稱。

巢狀元素

一般元素支援巢狀的 <arg><jvmarg> 元素。

範例

此範例顯示使用一般部署元素來部署使用 Java 基礎部署工具的元件

<serverdeploy action="deploy" source="${lib.dir}/ejb_myApp.ear">
    <generic classname="com.yamato.j2ee.tools.deploy.DeployTool"
             classpath="${classpath}"
             username="${user.name}"
             password="${user.password}">
        <arg value="-component=WildStar"/>
        <arg value="-force"/>
        <jvmarg value="-ms64m"/>
        <jvmarg value="-mx128m"/>
    </generic>
</serverdeploy>

WebLogic 元素

WebLogic 元素包含額外的屬性來執行 weblogic.deploy 部署工具。

此工具的有效動作為 deployundeploylistupdatedelete

如果動作為 deployupdate,則必須設定 applicationsource 屬性。如果動作為 undeploydelete,則必須設定 application 屬性。如果省略 username 屬性,則預設為 system。所有動作都需要 password 屬性。

屬性 說明 必要
application 這是正在部署的應用程式名稱
component 這是部署目標的元件字串。其格式為 <component>:<target1>,<target2>... 其中元件是檔案名稱(減去 .jar.ear.war 副檔名)。目標是會部署元件的伺服器
debug 如果設為 true,則會在部署過程中印出額外的資訊。

範例

此範例顯示使用 serverdeploy 將元件部署到 WebLogic 伺服器

<serverdeploy action="deploy" source="${lib.dir}/ejb_myApp.ear">
    <weblogic application="myapp"
              server="t3://myserver:7001"
              classpath="${weblogic.home}/lib/weblogic.jar"
              username="${user.name}"
              password="${user.password}"
              component="ejb_foobar:myserver,productionserver"
              debug="true"/>
</serverdeploy>

此範例顯示使用 serverdeploy 將元件從 WebLogic 伺服器中刪除

<serverdeploy action="delete" source="${lib.dir}/ejb_myApp.jar"/>
    <weblogic application="myapp"
              server="t3://myserver:7001"
              classpath="${weblogic.home}/lib/weblogic.jar"
              username="${user.name}"
              password="${user.password}"/>
</serverdeploy>

JOnAS(Java 開放應用程式伺服器)元素

JOnAS 元素包含額外的屬性來執行 JonasAdmin 部署工具。

此工具的有效動作為 deployundeploylistupdate

您無法使用此任務的 userpassword 屬性。

屬性 說明 必要
jonasroot JOnAS 的根目錄。
orb 選擇您的 ORB:RMIJEREMIEDAVID,... 相應的 JOnAS JAR 會自動新增至 classpath。如果您的 orbDAVID(RMI/IIOP),您必須指定 davidhostdavidport 屬性。 否;預設為 classpath 中的 ORB
davidhost 系統屬性的值:david.CosNaming.default_host
davidport 系統屬性的值:david.CosNaming.default_port
classname 這是要執行的 Java 基礎部署工具的完整類別名稱。 否;預設為 org.objectweb.jonas.adm.JonasAdmin

巢狀元素

jonas 元素支援巢狀的 <arg><jvmarg> 元素。

範例

此範例顯示如何使用 serverdeploy 將元件部署至 JOnAS 伺服器

<serverdeploy action="deploy" source="${lib.dir}/ejb_myApp.jar">
    <jonas server="MyJOnAS" jonasroot="${jonas.root}">
       <classpath>
           <pathelement path="${jonas.root}/lib/RMI_jonas.jar"/>
           <pathelement path="${jonas.root}/config/"/>
       </classpath>
    </jonas>
</serverdeploy>

此範例顯示如何使用 serverdeploy 列出 JOnAS 伺服器和 WebLogic 伺服器的元件

<serverdeploy action="list"/>
    <jonas jonasroot="${jonas.root}" orb="JEREMIE"/>
    <weblogic application="myapp"
              server="t3://myserver:7001"
              classpath="${weblogic.home}/lib/weblogic.jar"
              username="${user.name}"
              password="${user.password}"/>
</serverdeploy>