【问题标题】:How to set lib path in ANT when the build file location changes构建文件位置更改时如何在 ANT 中设置 lib 路径
【发布时间】:2012-10-22 08:37:05
【问题描述】:

我是 Ant 新手。以下是我的应用程序的文件夹结构。

  • src:源代码
  • lib:罐子
  • util : build.xml(ant 构建文件)
  • 输出:这将有一个从源代码生成的 jar 文件

用户应该能够将输出文件夹中的这个 jar 文件复制到任何地方,并且在提取时它会有

  • lib 文件夹:包含所有需要的库
  • build.xml : 要运行的 ant 构建文件

用户应该能够运行这个 build.xml 作为 "ant -f build.xml 运行"

问题是,在代码结构中 build.xml 在输出文件夹下,所以当我编写 build.xml 时,lib 文件夹路径设置为 ../lib/ 但是当从提取的文件夹中运行 build.xml 时,build.xml 处于根级别,并且 ../lib 将不起作用,因为 lib 的相对路径是“./lib/”

帮助表示赞赏!

谢谢

【问题讨论】:

    标签: java ant


    【解决方案1】:

    尝试将 build.xml 放在 util 文件夹之外..或将 util/ 添加到输出列表 output.library.jar = bin/,\util/ 在 build.properties 文件中

    【讨论】:

    • 我无法真正将 build.xml 移出 util 文件夹。最后一部分没看懂。我应该在 build.properties 文件中添加什么?
    【解决方案2】:

    使 lib 目录动态,从属性文件加载。在属性文件local.props(将被打包到根目录下的 jar 中)中,您将拥有:

    lib.dir=lib
    

    build.xmlutil 目录中时,您还将有另一个local.props 文件用于构建过程。该文件将具有:

    lib.dir=../lib
    

    构建文件中的第一个指令必须是:

    <property file="local.props" />
    

    当引用 lib 目录时,请始终使用${lib.dir}。这将使 lib 目录不仅灵活,而且可以在用户端进行配置,作为副作用。 local.props 文件通常用于为脚本用户提供可配置性。

    【讨论】:

    • 一个快速的问题.. 我可以使用 lib.dir=lib 生成这个 local.props(捆绑在 jar 中),并使用 lib.dir=../lib 生成另一个 local.props 吗?由于这将是一个固定的文件夹结构,用户可能不想手动设置它。提前致谢!
    猜你喜欢
    • 2011-01-25
    • 1970-01-01
    • 1970-01-01
    • 2017-07-07
    • 1970-01-01
    • 2023-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多