Chinaunix
标题:
为什么ant不能指定target
[打印本页]
作者:
sleep_meng
时间:
2005-05-15 18:22
标题:
为什么ant不能指定target
请教一下,为什么我执行
ant run 总是不起着用,build.xml 里有很多个target,可是不管我执行 ant run 还是 ant clean,它都是重头做到尾
<?xml version="1.0"?>;
<!-- ======================================================================= -->;
<!-- JBoss build file -->;
<!-- ======================================================================= -->;
<project name="JBossEJB3" default="run" basedir=".">;
<property environment="env"/>;
<property name="src.dir" value="${basedir}/src"/>;
<property name="jboss.home" value="${env.JBOSS_HOME}"/>;
<property name="build.dir" value="${basedir}/build"/>;
<property name="build.classes.dir" value="${build.dir}/classes"/>;
<!-- Build classpath -->;
<path id="classpath">;
<fileset dir="${jboss.home}/lib">;
<include name="**/*.jar"/>;
</fileset>;
<fileset dir="${jboss.home}/server/all/lib">;
<include name="**/*.jar"/>;
</fileset>;
<fileset dir="${jboss.home}/server/all/deploy/ejb3.deployer">;
<include name="*.jar"/>;
</fileset>;
<fileset dir="${jboss.home}/server/all/deploy/jboss-aop-jdk50.deployer">;
<include name="*.jar"/>;
</fileset>;
<pathelement location="${build.classes.dir}"/>;
<!-- So that we can get jndi.properties for InitialContext -->;
<pathelement location="${basedir}"/>;
</path>;
<property name="build.classpath" refid="classpath"/>;
<!-- =================================================================== -->;
<!-- Prepares the build directory -->;
<!-- =================================================================== -->;
<target name="prepare">;
<mkdir dir="${build.dir}"/>;
<mkdir dir="${build.classes.dir}"/>;
</target>;
<!-- =================================================================== -->;
<!-- Compiles the source code -->;
<!-- =================================================================== -->;
<target name="compile" depends="prepare">;
<javac srcdir="${src.dir}"
destdir="${build.classes.dir}"
debug="on"
deprecation="on"
optimize="off"
includes="**">;
<classpath refid="classpath"/>;
</javac>;
</target>;
<target name="ejbjar" depends="compile">;
<jar jarfile="build/tutorial.ejb3">;
<fileset dir="${build.classes.dir}">;
<include name="**/*.class"/>;
</fileset>;
</jar>;
<copy file="build/tutorial.ejb3" todir="${jboss.home}/server/all/deploy"/>;
</target>;
<target name="run" depends="ejbjar">;
<java classname="org.jboss.tutorial.stateless.client.Client" fork="yes" dir=".">;
<classpath refid="classpath"/>;
</java>;
</target>;
<!-- =================================================================== -->;
<!-- Cleans up generated stuff -->;
<!-- =================================================================== -->;
<target name="clean.db">;
<delete dir="${jboss.home}/server/all/data/hypersonic"/>;
</target>;
<target name="clean">;
<delete dir="${build.dir}"/>;
<delete file="${jboss.home}/server/all/deploy/tutorial.ejb3"/>;
</target>;
</project>;
复制代码
作者:
wolfg
时间:
2005-05-15 18:34
标题:
为什么ant不能指定target
build.xml 贴出来看看
作者:
sleep_meng
时间:
2005-05-15 20:16
标题:
为什么ant不能指定target
<?xml version="1.0"?>;
<!-- ======================================================================= -->;
<!-- JBoss build file -->;
<!-- ======================================================================= -->;
<project name="JBossEJB3" default="run" basedir=".">;
<property environment="env"/>;
<property name="src.dir" value="${basedir}/src"/>;
<property name="jboss.home" value="${env.JBOSS_HOME}"/>;
<property name="build.dir" value="${basedir}/build"/>;
<property name="build.classes.dir" value="${build.dir}/classes"/>;
<!-- Build classpath -->;
<path id="classpath">;
<fileset dir="${jboss.home}/lib">;
<include name="**/*.jar"/>;
</fileset>;
<fileset dir="${jboss.home}/server/all/lib">;
<include name="**/*.jar"/>;
</fileset>;
<fileset dir="${jboss.home}/server/all/deploy/ejb3.deployer">;
<include name="*.jar"/>;
</fileset>;
<fileset dir="${jboss.home}/server/all/deploy/jboss-aop-jdk50.deployer">;
<include name="*.jar"/>;
</fileset>;
<pathelement location="${build.classes.dir}"/>;
<!-- So that we can get jndi.properties for InitialContext -->;
<pathelement location="${basedir}"/>;
</path>;
<property name="build.classpath" refid="classpath"/>;
<!-- =================================================================== -->;
<!-- Prepares the build directory -->;
<!-- =================================================================== -->;
<target name="prepare">;
<mkdir dir="${build.dir}"/>;
<mkdir dir="${build.classes.dir}"/>;
</target>;
<!-- =================================================================== -->;
<!-- Compiles the source code -->;
<!-- =================================================================== -->;
<target name="compile" depends="prepare">;
<javac srcdir="${src.dir}"
destdir="${build.classes.dir}"
debug="on"
deprecation="on"
optimize="off"
includes="**">;
<classpath refid="classpath"/>;
</javac>;
</target>;
<target name="ejbjar" depends="compile">;
<jar jarfile="build/tutorial.ejb3">;
<fileset dir="${build.classes.dir}">;
<include name="**/*.class"/>;
</fileset>;
</jar>;
<copy file="build/tutorial.ejb3" todir="${jboss.home}/server/all/deploy"/>;
</target>;
<target name="run" depends="ejbjar">;
<java classname="org.jboss.tutorial.stateless.client.Client" fork="yes" dir=".">;
<classpath refid="classpath"/>;
</java>;
</target>;
<!-- =================================================================== -->;
<!-- Cleans up generated stuff -->;
<!-- =================================================================== -->;
<target name="clean.db">;
<delete dir="${jboss.home}/server/all/data/hypersonic"/>;
</target>;
<target name="clean">;
<delete dir="${build.dir}"/>;
<delete file="${jboss.home}/server/all/deploy/tutorial.ejb3"/>;
</target>;
</project>;
复制代码
作者:
sleep_meng
时间:
2005-05-15 20:32
标题:
为什么ant不能指定target
各们请帮忙看一下到底是什么问题好吗
先谢谢了
作者:
wolfg
时间:
2005-05-15 20:51
标题:
为什么ant不能指定target
执行target run肯定要按顺序执行prepare、compile和ejbjar,由depends决定
作者:
sleep_meng
时间:
2005-05-15 22:17
标题:
为什么ant不能指定target
我知道执行 ant run 必须先执行前面几个,可是它执行完前面几个后, run 目标不执行,我查了很多资料都不知道到底是为什么,而且 执行 ant clean 也还是从头开始执行到 target ejbjar 后就不执行了,target clean 并没有依赖其它的,不知道为什么就是不能执行 clean 而是从头开始但又不执行完。
作者:
wolfg
时间:
2005-05-15 22:20
标题:
为什么ant不能指定target
有什么信息输出?
作者:
perryhg
时间:
2005-05-15 22:26
标题:
为什么ant不能指定target
一种情况是你前面的步骤中有error,导致run停止执行,另一种可能是run里面已经执行了,但是由于环境有问题,没有得到你想要的结果,你可以在run里面放一些echo看看,有没有输出。
作者:
sleep_meng
时间:
2005-05-15 22:58
标题:
为什么ant不能指定target
现在通过实验,把第一行
<project name="JBossEJB3" default="run" basedir=".">;
中的 default 的值改为 run 时可以 执行 ant run, 改成 clean 后可以执行 ant clean, 为什么会这样呢?
没改的情况下在target run 中加 echo 也没有输出,说明没有执行,而且最后显示 build seccessful
作者:
sleep_meng
时间:
2005-05-17 14:29
标题:
为什么ant不能指定target
请各们看一下好吗?
为什么ant 每次都只能执行 default指定的那个target,
不管里面有多少个target,它都只执行default指定的那个,
作者:
wolfg
时间:
2005-05-17 22:59
标题:
为什么ant不能指定target
是啊,你若只用ant当然只执行default指定的
作者:
perryhg
时间:
2005-05-18 02:17
标题:
为什么ant不能指定target
default是默认,也就是说你只输入了ant,其他什么参数也没有,就会运行这个,其他target应该是输入ant mytarget 的时候可以直接执行的。
对了,你的ant是什么版本?还有要确认你ant的path,有些软件包会带有自己的ant,可能和你系统的ant有冲突,unix下面可以用which ant看看你到底用的哪个ant
作者:
sleep_meng
时间:
2005-05-22 06:14
标题:
为什么ant不能指定target
but the problem is, when i input ant run, ant clean, etc. It exec the default target too.
作者:
perryhg
时间:
2005-05-23 03:17
标题:
为什么ant不能指定target
第一,确定你ant的版本,第二,确定你运行ant的时候的确是调用了%ANT_HOME%\bin\ant.bat 很多时候有的软件包自带ant.bat, ant.pl等等,如果你不慎运行了其他的ant,会造成结果有偏差。
作者:
qingwaxw1980
时间:
2010-05-19 16:09
按下面的方法执行:
ant [target]
target --- 是你要执行的目标
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2