Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在生成文件位置更改时在ANT中设置库路径_Java_Ant - Fatal编程技术网

Java 如何在生成文件位置更改时在ANT中设置库路径

Java 如何在生成文件位置更改时在ANT中设置库路径,java,ant,Java,Ant,我是新来的蚂蚁。以下是我的应用程序的文件夹结构 src:源代码 李白:罐子 util:build.xml(ant构建文件) 输出:这将有一个从源代码生成的jar文件 用户应该能够将输出文件夹中的这个jar文件复制到任何地方,并且在提取时,它将具有 lib文件夹:包含所需的所有lib build.xml:要运行的ant构建文件 用户应该能够以以下方式运行此build.xml “ant-f build.xml运行” 问题是,在代码结构中build.xml位于output文件夹下,因此当我编写

我是新来的蚂蚁。以下是我的应用程序的文件夹结构

  • src:源代码
  • 李白:罐子
  • util:build.xml(ant构建文件)
  • 输出:这将有一个从源代码生成的jar文件
用户应该能够将输出文件夹中的这个jar文件复制到任何地方,并且在提取时,它将具有

  • lib文件夹:包含所需的所有lib
  • build.xml:要运行的ant构建文件
用户应该能够以以下方式运行此build.xml “ant-f build.xml运行”

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

谢谢你的帮助


谢谢

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

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

lib.dir=lib
build.xml
位于
util
目录中时,您还将有另一个
local.props
文件用于构建过程。此文件将具有:

lib.dir=../lib
生成文件中的第一条指令之一必须是:

<property file="local.props" />


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

我无法真正将build.xml移出util文件夹。我不明白最后一部分。我到底应该向build.properties文件添加什么?一个简单的问题。。我可以用lib.dir=lib生成这个local.props(捆绑在jar中)并用lib.dir=../lib生成另一个local.props吗?由于这将是一个固定的文件夹结构,用户可能不希望手动设置。。提前谢谢!