首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >生成EAR文件时如何在代码中创建application.xml?

生成EAR文件时如何在代码中创建application.xml?
EN

Stack Overflow用户
提问于 2017-03-02 09:20:41
回答 1查看 6.2K关注 0票数 0

IBM允许从IBM门户项目导出EAR。我正在编写一个自动创建ear文件的项目。如您所知,EAR文件包括WAR文件和META文件夹(其中包括文件application.xml)。但是如何在代码中创建文件application.xml呢?

例如,我想在我的application.xml文件中创建一个下面的build.xml文件,如何做到这一点:

代码语言:javascript
复制
<?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文件:

代码语言:javascript
复制
<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>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-03 14:33:29

扩展我关于保留application.xml模板的评论。例如,我将DISPLAY_NAME作为将在运行时替换的令牌。

代码语言:javascript
复制
<?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>

下面的replace任务将在上面的application.xml中用"My“替换DISPLAY_NAME令牌

代码语言:javascript
复制
    <replace casesensitive="true" file="application.xml">
        <replacetoken>DISPLAY_NAME</replacetoken>
        <replacevalue>My Enterprise App</replacevalue>
    </replace>

类似地,您可以将其他值作为标记保存在模板application.xml中,并在运行时用实际值替换它们。

有关更多详细信息,请参见:蚂蚁替换任务

希望这能有所帮助

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42551285

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档