簡體   English   中英

Ant:將一個編譯的類文件添加到javac類路徑?

[英]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.classstragglers.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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM