[英]Ant: add a single compiled class file to javac classpath?
在Ant中,如果我有一個單獨的編譯CLASS文件位於我的項目內部(比如gen/stragglers/SomePOJO.class
,有沒有辦法專門將該類文件添加到我的<javac>
編譯類路徑,當我目前有以下:
<javac includeantruntime="false" srcdir="src/main/java"
destdir="gen/bin/main">
<classpath refid="main.compile.path"/>
</javac>
如果沒有,為什么? 如果是這樣,怎么樣? 提前致謝!
填寫引用您的類文件的路徑:
<path id="javac.classpath">
<pathelement location="./gen/stragglers/SomePOJO.class"/>
</path>
然后在你的javac任務中使用它:
<javac srcdir="./src/main/java" destdir="./gen/bin/main">
<classpath refid="javac.classpath"/>
</javac>
您不能這樣添加單個類文件,您將目錄添加到類路徑中,編譯器將在該目錄下查找從其包結構派生的相對路徑下的類。 據我所知,這是不可協商的 - 目錄結構必須與包結構相匹配。
因此,例如,如果定義的類SomePOJO.class
是stragglers.SomePOJO
,那么你會在加gen
目錄到classpath
<javac includeantruntime="false" srcdir="src/main/java"
destdir="gen/bin/main">
<classpath>
<pathelement location="gen" />
<path refid="main.compile.path"/>
</classpath>
</javac>
如果路徑.class
文件不匹配的package
類的聲明,那么你就必須將它移動到該不匹配的封裝結構的臨時目錄,然后該目錄添加到類路徑來代替。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.