Antでjunitテスト実行時にエラーが出る

デフォルトパッケージにUser.javaというクラスを作って、そのテストを行うUserTest.classを同じくデフォルトパッケージに作成。
これをlinuxで動作させようにも動かない。。
build.xmlは以下。

	<path id="build.classpath" description="必要なファイルをクラスパスに通します。">
		<fileset dir="lib">
			<include name="**/*.jar" />
		</fileset>
	</path>

	<target name="junit" description="JUnit実行">
		<mkdir dir="doc" />
		<junit fork="true" printsummary="true" maxmemory="512m">
			<formatter type="plain" />
			<classpath refid="build.classpath" />
			<batchtest fork="yes" todir="doc">
				<fileset dir="." includes="**/*Test.java" />
			</batchtest>
		</junit>
	</target>

実行時のエラーは、java.lang.ClassNotFoundExceptionです。
かなりはまりましたが、結局は、次の要素をpathに追記することで解決しました。

	<path id="build.classpath" description="必要なファイルをクラスパスに通します。">
		<pathelement path="." />
		<fileset dir="lib">
			<include name="**/*.jar" />
		</fileset>
	</path>

つまり自分自身にもパスを通すということですね。
けどwindows上だとこんなの追加しなくても動作したんですよね。なんでだろ。

あ、あとはまりがちなのが、junitタスクを実行する時には、ANT_HOME/libの下にjunit.jarを置いていないといけない、というやつ。この2点をおさえれば大抵大丈夫では。