【问题标题】:Trouble importing a third-party jar into an ant build将第三方 jar 导入 ant 构建时遇到问题
【发布时间】:2011-05-08 09:45:46
【问题描述】:

我是 ant 和 java 的新手,我正在努力将第三方 ant 库 awstasks 合并到我的 ant 构建脚本中。

如果我将它复制到 usr/share/ant/lib 路径中,我可以让这个 jar 开始加载,但它会失败并出现异常

找不到类 dak.ant.taskdefs.S3Upload 所需的类:org/jets3t/service/S3ServiceException 使用类加载器 AntClassLoader

然后我下载了 jets3t.jar 文件并将其放在 ant/lib 路径中,只是为了让它在另一个依赖项上失败。我知道在 ant/lib 路径中包含 jar 文件的这种路径不是处理这些 3rd 方插件及其依赖项的正确方法。

然后我对使用路径导入必要的 jar 文件进行了一些研究,并一直在尝试使用这些路径来解决依赖问题,但没有成功。蚂蚁路径声明如下:

<path id="projet.classpath" description="The default classpath.">
    <pathelement path="../awsUpload/awstasks-read-only/lib/"/>
  <fileset dir="../awsUpload/awstasks-read-only/lib/">
    <include name="**/*.jar"/>
  </fileset>
</path>

我可以从构建输出中看到它正在加载以下 jar 文件,据我所知,这些文件应该包括它失败的 jets3t 依赖项:

AntClassLoader[/Users/travis/workspace/Sudoko/build/lib:/Users/travis/workspace/Sudoko/build/lib/jets3t/jars/cockpit-0.8.0.jar:/Users/travis/workspace/ Sudoko/build/lib/jets3t/jars/cockpitlite-0.8.0.jar:/Users/travis/workspace/Sudoko/build/lib/jets3t/jars/jets3t-0.8.0.jar:/Users/travis/workspace/ Sudoko/build/lib/jets3t/jars/jets3t-gui-0.8.0.jar:/Users/travis/workspace/Sudoko/build/lib/jets3t/jars/synchronize-0.8.0.jar:/Users/travis/工作区/Sudoko/build/lib/jets3t/jars/uploader-0.8.0.jar]

我也尝试使用路径方法加载awstasks jar文件,但没有成功。

如果有人能给我一些关于我哪里出错以及我应该做什么的指导,我将不胜感激。

【问题讨论】:

    标签: ant jar


    【解决方案1】:

    好的,所以我做了一些进一步的阅读,在我看来,在 ant/lib 路径中包含 jar 文件是一种有效的方法。事实上,FAQ 向我表明,并非所有 jar 文件都可以支持使用类路径嵌套加载依赖项,因为 jUnit 以前不支持这一点。

    如果不是这样,我很想知道。

    现在我只需要添加一个 ant 任务来将我的第三方库复制到 ant/lib 路径中,然后在构建完成时删除它们。

    【讨论】:

      猜你喜欢
      • 2012-12-16
      • 1970-01-01
      • 2011-05-14
      • 2021-12-01
      • 2012-05-31
      • 2014-09-23
      • 2013-01-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多