我自己做了个可执行jar文件,
其中用到了ant中的一个属性如
${project.dir}
我想将这个属性传给我的java程序,然后在此文件夹下创建一个文件 a.xml
但是报错说找不到文件路径。好像传给java的是一个相对路径。
请高手帮忙啊我大概就是这样定义了一个宏
这个我自己写的一个类,就是生成一个脚本文件 里面需要写几个路径。
然后有一个外部程序,我要在脚本中调用这个程序,程序的参数就是上面这个类生成的脚本文件。 <taskdef name="createScript" classname="com.seraph.extending.AntPathTask" classpath="${ant-extend.dir}/ant-extending-1.0.0.jar" /> 这里是工程的路劲${project} <macrodef name="test"> 这里是macrodef的定义,定义了name属性
<attribute name="dir1"/>
<attribute name="dir2"/>
<attribute name="dir3"/>
<sequential>
< createScript dir1="@{dir1}" dir2="@{dir2}" dir3="${project}/test/test.xml"/>
</sequential>
</macrodef> 而我写的java在获取参数(dir3)的时候 ,是获取的相对路径,请问怎么修改才能获取绝对路径啊?
其中用到了ant中的一个属性如
${project.dir}
我想将这个属性传给我的java程序,然后在此文件夹下创建一个文件 a.xml
但是报错说找不到文件路径。好像传给java的是一个相对路径。
请高手帮忙啊我大概就是这样定义了一个宏
这个我自己写的一个类,就是生成一个脚本文件 里面需要写几个路径。
然后有一个外部程序,我要在脚本中调用这个程序,程序的参数就是上面这个类生成的脚本文件。 <taskdef name="createScript" classname="com.seraph.extending.AntPathTask" classpath="${ant-extend.dir}/ant-extending-1.0.0.jar" /> 这里是工程的路劲${project} <macrodef name="test"> 这里是macrodef的定义,定义了name属性
<attribute name="dir1"/>
<attribute name="dir2"/>
<attribute name="dir3"/>
<sequential>
< createScript dir1="@{dir1}" dir2="@{dir2}" dir3="${project}/test/test.xml"/>
</sequential>
</macrodef> 而我写的java在获取参数(dir3)的时候 ,是获取的相对路径,请问怎么修改才能获取绝对路径啊?
不行吧
这个值具体是多少?
你直接用 当前路径 /${project}的具体值试下,当然,${project}如果是绝对路径,就会出错