首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Ant jar任务期间创建目录结构

在Ant jar任务期间创建目录结构
EN

Stack Overflow用户
提问于 2012-03-12 20:38:23
回答 1查看 6.8K关注 0票数 1

我想创建一个具有以下目录结构的jar:

代码语言:javascript
复制
thejar.jar/
    classes/ --> where all classes go
    lib/ --> where all dependencies go
    res/ --> where all non-classpath resources go (scripts, etc.)
    META-INF/

这是我的蚂蚁任务:

代码语言:javascript
复制
<jar destfile="dist/main/thejar.jar">
    <!-- Create the manifest -->
    <manifest>
        <!-- JAR should be sealed. -->
        <attribute name="Sealed" value="true" />
    </manifest>

    <!-- Copy main build directory to classes/ directory in JAR. -->
    <fileset dir="dist/main/classes" includes="build/main"/>

    <!-- Copy main library directory to lib/ directory in JAR. -->
    <fileset dir="dist/main/lib" includes="lib/main"/>

    <!-- Copy main resources directory to res/ in JAR. -->
    <fileset dir="dist/main/res" includes="res/main"/>
</jar>

如果我正确地理解了这一点,那应该是:

dist/main/classes

  • Copying

  • build/main中所有构建的(.class)文件复制到thejar.jar

,所有lib/main依赖项都复制到dist/main/lib

  • Copying,所有res/main文件复制到dist/main/res

  • JARring up dist/main/*thejar.jar

JAR任务执行时没有错误,但是当我查看thejar.jar的内容时,我只看到META/(上面提到的子目录中没有一个)。

这里发生了什么事?提前感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-03-13 08:25:54

您希望jar任务将build/main中的文件复制到jar的dist/main/lib中,但是

代码语言:javascript
复制
<fileset dir="dist/main/classes" includes="build/main"/>

意味着将dist/main/classes/build/main中的文件打包到jar文件中。

看看Ant-Jar任务文档中的示例:

代码语言:javascript
复制
<jar destfile="${dist}/lib/app.jar">
    <fileset dir="${build}/classes"
             excludes="**/Test.class"
    />
    <fileset dir="${src}/resources"/>
</jar>

(上面的代码)将${build}/classes目录中的所有文件和${src}/resources目录中的所有文件合并到${dist}/lib目录中的一个名为app.jar的文件中。

为了实现您的请求,我认为您可以使用<copy>任务将类、资源和依赖项复制到您想要的目录结构中,然后将该目录包装起来。

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

https://stackoverflow.com/questions/9674471

复制
相关文章

相似问题

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