2
使用Ant時遇到以下問題。Ant-Pathelement with wildcard only only in Javac forked mode
我的Ant腳本片段:
<path id="id.compile.classpath">
<pathelement location="src/compile_lib1/*" />
<pathelement location="src/compile_lib2/*" />
</path>
<javac srcdir="${module.root}/${src.root}" destdir="${swap.target.classes}"
nowarn="${javac.nowarn}" debug="${javac.debug}" fork="${javac.fork}"
classpathref="id.compile.classpath" includeAntRuntime="${javac.includeAntRuntime}">
<include name="**/*.java"/>
</javac>
當設置叉javac任務=」真」,通配符pathelement工作正常,但分叉設置爲false時,螞蟻似乎未能正確解釋通配符。 (編譯失敗,由於類路徑錯誤)。
任何建議
謝謝。
明白,只是想知道爲什麼不我的情況 – foolhunger 2014-08-27 16:39:49
@foolhunger Java的工作不支持通配符在classpath中,同樣沒有ANT。請參閱:http://ant.apache.org/manual/using.html#path – 2014-08-27 16:58:43
@foolhunger關於[有關類路徑的Oracle文檔]中的通配符部分(http://docs.oracle.com/javase/7/docs /technotes/tools/solaris/classpath.html)表示:「擴展通配符在調用程序的主要方法之前就已經提前完成了,而不是在類加載過程本身的晚期完成」 - 這表明在分叉模式JVM啓動器將擴展通配符並將擴展版本的路徑傳遞給編譯器類。在非分叉模式下,這種情況不會發生,編譯器會看到它不知道如何處理的文字「*」。 – 2014-08-27 17:00:08