Copy entire directory before creating an ear file

走远了吗. 提交于 2019-12-12 03:46:16

问题


I am trying to build an ear file from an ant script. There are several targets that create .jar and .war (to be contained within the ear) files using different projects and these are building without issue so I will not include them.

Imagine this directory structure:-

Project1/
  build/ 
  lib/
  META-INF/
  build.xml

So when the ant script is called the build directory is deleted and remade, all fairly standard stuff. Then I create the jar's and war's from external projects and store them in build/ - everything is fine.

But I also want to include the directories lib/ and META-INF/ in the ear file. So I try to copy them to the build directory using this target.

<target name="file_cleanup">
    <copy todir="${build}">
        <fileset dir="lib/"/>
        <fileset dir="META-INF/"/>
    </copy>
</target>

This file_cleanup target is a dependant of the default build target which creates the ear - shown below:

   <target name="ear" depends="initialise, file_cleanup, other targets...">
        <ear destfile="My.ear" appxml="META-INF/application.xml">
            <fileset dir="${build}" includes="*.jar,*.war"/>
        </ear>
    </target>

What I want to see when I extract the ear is:

target1.jar
target2.war
lib/
META-INF/

But what I actually get is:

target1.jar
target2.war
and all of the contents of both the lib and META-INF directories...

回答1:


I was able to resolve this issue by creating additional properties and directories and copying the directory structures to the new directories:

<target name="initialise">
    <delete dir="${build}"/>
    <mkdir dir="${build}"/>
    <mkdir dir="${build}/${lib}"/>
    <mkdir dir="${build}/${meta-inf}"/>
</target>


    <target name="file_cleanup">
        <copy todir="${build}/${lib}">
            <fileset dir="lib"/>
        </copy>
        <copy todir="${build}/${meta-inf}">
            <fileset dir="META-INF"/>
        </copy>
    </target>


来源:https://stackoverflow.com/questions/18185469/copy-entire-directory-before-creating-an-ear-file

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!