当前位置: 首页 > 知识库问答 >
问题:

Ant jar任务-包括不在basedir下的文件

史钊
2023-03-14

我正在尝试编写一个ant目标,它将基于一堆java文件和一些属性文件创建一个jar,但在按照当前项目设置的方式包含属性文件时遇到了问题。

这些是我的蚂蚁目标:

1-从“myjar.src”文件夹编译java源文件,并将生成的类放入“myjar.classes”文件夹。完成后,复制所有非文件。java文件从“myjar.src”到“myjar.classes”。

2-使用basedir=${myjar.classes}使用“jar”命令创建jar,并告诉它包含所有内容。

这些是我想要的蚂蚁目标:

1-编译java souce文件,并将生成的类放入“myjar.classes”文件夹中。只包括. java文件

2-使用basdir=${myjar.classes.location}使用jar命令创建jars,但也包括来自myjar.src.的. Properties和. xml文件

关键的区别在于,当我使用basedir=${myjar.classes}打包“myjar.classes”中的类时,我希望包含“myjar.src”中的属性和xml文件——当这些属性和xml文件不在“myjar.classes”之下时,我如何包含它们?

这是我要修改的ant目标:

<CreateManifest title="myjar classes etc"/>
        <jar 
            destfile="${myProject.build.jars.dir}\ta_test_driver.jar" 
            basedir="${myjar.classes}" 
            manifest="${manifest}">
            <include name="**"/>
        </jar>

我之所以不只是在basedir上使用一个一级目录,是因为项目中的其他jar创建调用都没有这样做,我很犹豫是否只为这一个更改它。我确实尝试过这样做,但在指定正确的目录时遇到了困难。(还有其他JAR使用类似的目录结构,我现在或将来都不想干扰它们。)我只是想知道这是不是更好的方法?非常感谢。

共有1个答案

臧梓
2023-03-14

我设法从这里弄明白了:如何通过Ant在特定位置将文件包含在Jar中

这是我最后修改的蚂蚁呼叫:

    <CreateManifest title="myjar classes etc"/>
    <jar 
        destfile="${myProject.build.jars.dir}\ta_test_driver.jar" 
        basedir="${myProject.classes}\ta_test_driver" 
        manifest="${manifest}">
        <include name="**"/>
         <zipfileset dir="${myjar.src}" 
            includes="**/*.xml, **/*.properties, **/*.gif"
            />   
    </jar>

注意zipfileset标签。

 类似资料:
  • 我使用这段代码,它完美地创建了zip文件,例如我有一个文件夹 SD卡/音乐,当我创建xxx时。它创建的zip文件。zip文件包括音乐/歌曲以及其中的一些子文件夹 但我想排除“音乐”中的主文件夹。压缩文件,并希望它直接开始,包括所有的歌曲和它的子文件夹,如何做到这一点 我使用这种方式,但在压缩时也使用主文件夹名称 有人帮忙吗谢谢 到目前为止,这一直很棘手,对我来说,现在没有办法工作:/

  • 我用的是Stackblitz:https://stackblitz.com/edit/bible-talk 我用的是角度10。 我正在尝试从JSON文件导入数据。 我在Stackblitz上找到了一个如何做到这一点的例子: https://stackblitz.com/edit/json-import-example?file=src/app/app.component.html 您应该将这些添加

  • 问题内容: 我对mvc4捆绑器有一个奇怪的问题,不包括扩展名为.min.js的文件 在我的BundleConfig类中,我声明 我认为 当它渲染时,它只会渲染 如果我将jquery.tmpl.min.js重命名为jquery.tmpl.js(并相应地更新捆绑软件中的路径),则两个脚本均正确呈现。 是否有一些配置设置导致其忽略“ .min.js”文件? 问题答案: 我最初发布的解决方案是有问题的(很

  • 未将hibernate-cfg.xml添加到war classes文件夹中。我使用以下脚本将web applcation部署到tomcat。复制后,当我启动tomcat时,错误enotFoundException下面的gettign:类路径资源[hibernate.cfg.xml]无法解析URL,因为它不存在

  • 我创建了一个简单的示例(名称实际上并不意味着什么): GradleMultiProject\core\src\main\java\core.java 堆芯建造