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

ant,jar文件和Class-Path哦,我的

范鸿畅
2023-03-14
问题内容

我正在尝试重新构建用于创建依赖于常见的第三方jar文件的Java jar文件的构建技术。(GlazedLists,Apache Commons等)

我一直将它们全部放入{Java JRE dir} / lib /
ext中,以便JRE自动看到它们,但这导致了一些问题,例如不记得我需要分发某些jar文件,所以我想学习更明确地说。

所以我将它们全部移到c:\ appl \ java \ common \,将它们添加到Eclipse构建路径,并在我的ant文件中定义了它:

<path id="javac_classpath">
    <fileset dir="${libDir}">
        <include name="*.jar"/>
    </fileset>
    <fileset dir="c:/appl/java/common">
        <include name="*.jar"/>
    </fileset>
</path>

我将我的Class-Path清单标头设置为“。”
在我的jar任务中,但是即使我将相关的jar文件放在与我的应用程序jar文件相同的目录中,这似乎也不起作用。我可以将它们手动一个接一个地添加到Class-
Path标头中,但是我想知道,是否有更简单的方法来正确设置Class-Path标头?


问题答案:

这就是您所需要的:

<path id="build-classpath">
    <fileset dir="${dist}/lib">
        <include name="*.jar"/>
    </fileset>
</path>
<manifestclasspath property="lib.list" jarfile="${dist}/lib/myprog.jar">
    <classpath refid="build-classpath"/>
</manifestclasspath>
<jar jarfile="${dist}/lib/myprog.jar"
     basedir="${build}"
     includes="com/my/prog/**" >
    <manifest>
        <attribute name="Main-Class" value="com.my.prog.MyProg"/>
        <attribute name="Class-Path" value="${lib.list}"/>
    </manifest>
</jar>

您可能会看到,它假设您已经编译了Java类并将它们输出到${build}。它还假设您已将jarfiles复制到${dist}/lib

也就是说,值得研究其他对依赖项有内置支持的构建系统,例如Maven和Gradle。这些其他构建系统已经考虑了许多常见的项目结构和构建操作,因此您无需编写所有脚本,直到最后一个细节。



 类似资料:
  • 谁能告诉我Rsrc-class-Path和runnable-jar的清单文件的Class-Path部分之间有什么区别? 现在我认为它们是Eclipse生成的,但我想了解它是如何工作的。 根据Eclipse生成代码的方式,我认为第一个是关于我的应用程序需要的JAR,第二个总是

  • HTSJDK是一个用于访问常见文件格式(如SAM和VCF)的库。我想构建HTSJDK JAR。在文档页面中说我必须为此使用Ant。所以我安装了Ant并运行以下命令: ant htsjdk-jar [javac]用法:javac [javac]use-help获取可能选项列表 生成失败 build.xml文件有问题。这里是文件的开头: 拜托,有人能告诉我该怎么做才能解决这个问题吗?

  • 问题内容: 我对这两个术语感到困惑。 另外,我应该怎么做才能在Spring MVC项目的src文件夹下创建文件?当我使用File对象创建文件时,它将在C:\ SpringSourceTool中创建文件。我猜这是ClassPath对吗? 无论如何,如何获取应用程序的文件夹或根目录? 问题答案: 在 构建路径 是用于构建应用程序。它包含所有源文件和编译应用程序所需的所有Java库。 的 类路径 被用于

  • 我需要使用存储在jar文件中的build.xml文件运行ANT构建。这个jar文件在类路径上可用。有没有可能做到这一点,而不爆炸的jar文件,并保存build.xml到本地目录?如果是这样,我该怎么做。 更新: jar文件是一个ant构建项目,其中类路径中的build.xml是通过使用ant库的java程序运行的。前端是一个web应用程序,它作为依赖项加载这个构建项目jar。用户将单击构建应用程序

  • 问题内容: 我想用一个新的 jar* 更新一个 .class 文件。什么是最简单的方法,尤其是在Eclipse IDE中? * 问题答案: 本教程详细介绍了如何更新jar文件 其中“ u”表示更新。

  • 可以从jar文件中运行ant脚本吗? 目前,我有一个build.xml,它调用一些java代码,这些代码在一个jar文件中。然后它做一些进一步的蚂蚁处理。 当我从Eclipse导出jar文件时,我可以选择添加构建。xml文件到jar,所以我想知道我是否可以直接从jar运行ant脚本,这样我只需要给人们jar文件,而不是ant脚本。