这可能是一个重复的问题,但没有找到解决办法。
我在开发环境下为我的新项目制作了一个build.xml。
<project name="env-agent-config-util" basedir=".">
<property environment="env"/>
<property name="src.dir" value="src"/>
<property name="build.dir" value="build"/>
<property name="classes.dir" value="${build.dir}/classes"/>
<property name="jar.dir" value="${build.dir}/UI/jar"/>
<property name="main-class" value="org.env.agent.config.util.ProxySettings"/>
<property name="env.src.dir" location="${env.ENV_SRC}/integration/java/server/conf"/>
<property name="env.lib.dir" location="${env.ENV_JAVA_DEV}/lib/dir" />
<import file="${evn.src.dir}/build.xml" optional="false" />
<target name="clean">
<delete dir="${classes.dir}"/>
</target>
<target name="compile" depends="init-common" >
<mkdir dir="${classes.dir}"/>
<javac destdir="${classes.dir}">
<src path="${src.dir}"/>
<src path="${env.src.dir}"/>
<classpath refid="env.utils.jars"/>
<classpath refid="third.party.jars"/>
<classpath>
<pathelement location="${env.lib.dir}/integration/common/env-integration-common-crypto.jar" />
</classpath>
</javac>
<copy todir="${build.dir}/UI/lib" flatten="true">
<path>
<pathelement path="${java.class.path}"/>
</path>
<!-- <fileset dir="${env.lib.dir}" /> -->
</copy>
</target>
<target name="jar" depends="compile">
<mkdir dir="${jar.dir}"/>
<jar destfile="${jar.dir}/${ant.project.name}.jar" basedir="${classes.dir}">
<manifest>
<attribute name="Main-Class" value="${main-class}"/>
</manifest>
</jar>
</target>
<target name="run" depends="jar,clean">
<echo message="All Runnable, Jar are placed into the Build/UI Folder."/>
<!-- <java jar="${jar.dir}/${ant.project.name}.jar" fork="true"/> -->
</target>
</project>
如您所见,我参考了3条路径:
根据当前声明,即复制标记下的$ {java.class.path},它会复制文件但更改了jar名称。我不想这样做。
我需要将属于这些路径变量的所有jar(及其正确的名称)复制到build / UI / lib文件夹。
我尝试使用fileset但它只需要当前的项目变量。
至少我如何为这些路径变量创建属性变量?
请帮助......