当前位置: 首页 > 面试题库 >

Apache ant清单类路径?

支才
2023-03-14
问题内容

我有一个Java项目的标准项目布局:

project /
    src /
        source_file_1.java
        ...
        source_file_N.java
    build /
          classes /
              source_file_X.class
              ...
          jar /
              MyJar.jar
    lib /
          SomeLibrary.jar
          SomeOtherLibrary.jar

据我所知,我正在使用Ant正确构建项目。我需要在清单文件中设置class-path属性,以便我的类可以使用所需的库。

以下来自build.xml的相关信息

<target name="compile" depends="init">
    <javac srcdir="src" destdir="build\classes">
        <classpath id="classpath">
            <fileset dir="lib">
                <include name="**/*.jar" />
            </fileset>
        </classpath>
    </javac>
</target>

<target name="jar" depends="compile">
    <jar destfile="build\jar\MyJar.jar" basedir="build\classes" >
        <manifest>
            <attribute name="Built-By" value="${user.name}" />
        </manifest>
    </jar>
</target>

任何朝着正确方向的推动都值得赞赏。谢谢


问题答案:

查看我的NetBeans生成的构建文件,我在-do-jar-with-libraries任务中找到了以下代码片段:

<manifest>
    <attribute name="Main-Class" value="${main.class}"/>
    <attribute name="Class-Path" value="${jar.classpath}"/>
</manifest>

因此,换句话说,看起来您只需要向已有的清单任务添加另一个属性即可。

另请参阅清单任务文档。



 类似资料:
  • 问题内容: 我希望Gradle构建脚本将完整的Classpath添加到构建后创建的JAR文件中包含的清单文件中。 例: 我的构建脚本已经通过这种方式向清单添加了一些信息: 如何获取要添加到清单的依赖项列表? Java教程的此页面详细描述了如何以及为什么向清单中添加类路径:将类添加到JAR文件的类路径中 问题答案: 在Gradle的论坛上找到了一个解决方案: 来源:子项目的Jar任务中带有类路径的清

  • 我希望我的Gradle构建脚本将完整的类路径添加到构建后创建的JAR文件中包含的清单文件中。 如何获取要添加到清单中的依赖项列表? 这一页的Java教程更详细地描述了如何以及为什么将类路径添加到清单中:将类添加到JAR文件的类路径中

  • 问题内容: 我是Java的新手,我需要列出列表列表。我可以在python中做到这一点,因为列表的元素可以是列表,因此在嵌入式列表中将引用列表,并且将引用嵌入式列表的zeroeth元素。有什么简单的方法可以在Java中实现此行为? 问题答案: 所有其他答案在技术上都是正确的,但是恕我直言,如果您实施了粗略的列表列表,您将无法在正确的抽象级别上处理数据。例如,我很确定列表列表在您的业务领域中已经意味着

  • 我有一个类列表,其中包含事件名称、时间戳和持续时间(timespan)。有许多重复的事件名称。我想通过事件名称合并它们,并添加它们的持续时间,并保留最早的时间戳,除非事件具有特定的名称。即,删除重复的事件名称,为相似的事件名称添加持续时间,并保留偶数名称的最早时间戳。 有更好的方法吗?可能是用LINQ吗? 下面是我尝试过的,它似乎没有正确地合并(仍然有重复的但更少) 类: 我的尝试: 例如,如果a

  • 问题内容: 我在清单文件的Class-Path条目中有一个带有两个jar的可运行jar: 该程序运行良好,并且满足了所引用jar中的所有依赖关系。但是,当我尝试访问类路径时,罐子不存在: 只给 有没有一种方法可以访问实际的类路径,因为很明显,系统会在路径上找到这些jar? 问题答案: 您实际上是否需要JAR文件的位置,还是只需要从它们加载资源? 如果您实际上只是想加载资源,您将对,其静态方法和静态

  • 问题内容: 运行代码 退货 因此,每次在列表列表中每次更新元组(列表)的第一个参数,但第二个参数list [0]却没有更新。有人可以解释这里发生的事情并提出解决方法吗?我想输出 问题答案: 列表是可变类型-为了创建副本(而不只是传递相同的列表),您需要明确地这样做: 但是,已经是Python内置的名称-最好不要将该名称用作变量。这是一个不用作变量名并复制的版本: 请注意,我演示了两种不同的方法来复