2017-03-02 6 views
0

IBM RADはIBMポータル・プロジェクトからEARをエクスポートできます。私はearファイルを自動作成するプロジェクトを書いています。ご存じのように、EARファイルにはWARファイルとMETA-INFフォルダ(application.xmlファイルを含む)が含まれています。しかし、ファイルapplication.xmlをコードでどのように作成できますか?EARファイルを生成する際にapplication.xmlをコードに作成する方法は?

例えば、私はそれを行う方法を、私のbuild.xmlファイル内のApplication.xml以下作成したい:

<?xml version="1.0" encoding="UTF-8"?> 
<application id="Application_ID" version="6" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/application_6.xsd"> 
<display-name>HTDKTTEAR</display-name> 
<module id="Module_1463815058194"> 
    <web> 
     <web-uri>HTDKTT.war</web-uri> 
     <context-root>HTDKTT</context-root> 
    </web> 
</module> 
</application> 

私のbuild.xmlファイル:上の拡大

<target name="generateEar" depends="generateWar"> 
     <mkdir dir="./earbin/META-INF"/> 
     <manifest 
      file="./earbin/META-INF/MANIFEST.MF" 
      mode="update"> 
      <attribute name="Built-By" value="Jenkins CI"/> 
      <attribute name="Implementation-Version" value="#${env.BUILD_NUMBER} - r${env.SVN_REVISION} - ${env.BUILD_ID}"/> 
      <attribute name="Implementation-Title" value="${env.JOB_NAME}"/> 
      <attribute name="Built-Date" value="${TODAY}"/> 
     </manifest> 

     <move file="BUILD2TEST.war" todir="./earbin" /> 
     **<!-- How to create application.xml ? if it not available /> -->** 
     <jar destfile="${ear}"> 
      <fileset dir="./earbin" /> 
     </jar> 
    </target> 
+1

を私がお勧めでしょうに役立ちます現在のアプリケーション属性を反映します。 – Sanjeev

+0

ありがとう@Sanjeev、キーを変更するコードの例を挙げることができますか? – taibc

答えて

1

application.xmlのテンプレートを保持する私のコメント。たとえば、DISPLAY_NAMEは、実行時に置き換えられるトークンとして保管されていました。 replaceタスク後

<?xml version="1.0" encoding="UTF-8"?> 
<application id="Application_ID" version="6" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/application_6.xsd"> 
<display-name>DISPLAY_NAME</display-name> 
<module id="Module_1463815058194"> 
    <web> 
     <web-uri>HTDKTT.war</web-uri> 
     <context-root>HTDKTT</context-root> 
    </web> 
</module> 
</application> 

同様に、あなたのテンプレートapplication.xmlにトークンとして他の値を維持し、でそれらを置き換えることができ

<replace casesensitive="true" file="application.xml"> 
     <replacetoken>DISPLAY_NAME</replacetoken> 
     <replacevalue>My Enterprise App</replacevalue> 
    </replace> 

上記application.xmlに「マイエンタープライズアプリケーション」とDISPLAY_NAMEトークンを交換します実際の値でランタイム。詳細については

参照してください。ANT Replace Task

ホープこれは、いくつかの交換可能なキーとし、ビルドXMLテンプレートapplication.xmlを保つMETA-INFにこのファイルをコピーして、これらのキーを変更

関連する問題