这是build.xml
<?xml version="1.0"?>
<project default="build" basedir=".">
<property name="appname" value="HelloWorld" />
<property name="base" value="e:\test" />
<property name="src" value="src" />
<property name="build" value="classes" /> <property name="myclasspath" value="${base}\${build}" />
<target name="build">
<mkdir dir="${build}" />
<javac srcdir="${src}" destdir="${build}">
<include name="**/*.java" />
</javac>
</target>
<target name="run" depends="build">
<exec executable="java">
<arg line=" -classpath ${myclasspath} ${appname}" />
</exec>
</target>
<target name="clean">
<delete includeEmptyDirs="true">
<fileset dir="${build}" />
</delete>
</target>
</project>我在想是不是这个:
<arg line=" -classpath ${myclasspath} ${appname}" />
给的类的路径不对啊
多谢了!
<?xml version="1.0"?>
<project default="build" basedir=".">
<property name="appname" value="HelloWorld" />
<property name="base" value="e:\test" />
<property name="src" value="src" />
<property name="build" value="classes" /> <property name="myclasspath" value="${base}\${build}" />
<target name="build">
<mkdir dir="${build}" />
<javac srcdir="${src}" destdir="${build}">
<include name="**/*.java" />
</javac>
</target>
<target name="run" depends="build">
<exec executable="java">
<arg line=" -classpath ${myclasspath} ${appname}" />
</exec>
</target>
<target name="clean">
<delete includeEmptyDirs="true">
<fileset dir="${build}" />
</delete>
</target>
</project>我在想是不是这个:
<arg line=" -classpath ${myclasspath} ${appname}" />
给的类的路径不对啊
多谢了!
<exec executable="java">
<arg line=" -classpath ${myclasspath} ${appname}" />
</exec>
</target>直接这样:
<target name="run" depends="build">
<java className="${appname}">
<classpath>
<pathelement path="${build}"/>
<pathelement path="${java.class.path}"/>
</classpath>
</java>
</target>
建议看看ant的文档,我也是初步了解
<pathelement path="${conf}" />
<pathelement path="${web.classes}" />
<fileset dir="${web.lib}">
<include name="**/*.jar" />
</fileset>
<fileset dir="${lib}">
<include name="**/*.jar" />
</fileset>
</path><java classname="youclassname(要带包名)" fork="yes">
<classpath refid="classpath"/>
</java>
我按照你写的改了,还是一样的结果它的意思是不是:找不到类呢?
这个类是不是在这个路径中的名为"HelloWorld"的class文件啊?明明是有的啊!谢谢!
在HelloWorld.java文件中,第一句话是:package test
所以build之后HelloWorld.class的文件路径是:e:\test\classes\test\HelloWorld.class可是,在寻找类的语句中我直接把路径写成:e:\test\classes\test\ 都不对:(现在把HelloWorld.java的文件路径改为:e:\test\src\HelloWorld.java
所以HelloWorld.class的文件路径变成了:e:\test\classes\HelloWorld.class
执行run时的错误是关于第一行:package test的
把这句话给删了
就可以运行出结果了。虽然现在可以出正常的结果,但是我还是不明白错究竟在什么地方,请大家给讲一下吧多谢了!
<exec executable="java">
<arg line=" -classpath ${build} ${appname}" />
</exec>
</target>
-----------------------------------------------------------
<target name="run" depends="build" >
<java classname="${appname}">
<classpath>
<pathelement path="${build}"/>
</classpath> </java>
</target>
------------------------------------------------------------
换成上面两种试试,你的class文件是在e:\test\classes下面吗?
在HelloWorld.java文件中,第一句话是:package test
所以build之后HelloWorld.class的文件路径是:e:\test\classes\test\HelloWorld.class可是,在寻找类的语句中我直接把路径写成:e:\test\classes\test\ 都不对:(
------------------------------------------------------------------------------
(上面的情况不用改路径,把appName改为test.HelloWorld就可以了)