如何在构建文件位置更改时在ANT中设置lib路径

时间:2012-11-01 17:33:52

标签: java ant

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

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

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

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

用户应该能够运行此build.xml      “ant -f build.xml run”

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

帮助表示赞赏!

由于

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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

lib.dir=lib

local.props位于build.xml目录中时,您的构建过程还会有另一个util文件。这个文件有:

lib.dir=../lib

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

<property file="local.props" />

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