在 Ant 中,如果我有一个单独的已编译 CLASS 文件位于我的项目中(比如 at ,当我目前有以下内容时gen/stragglers/SomePOJO.class,有没有办法专门将该类文件添加到我的<javac>编译类路径中:
<javac includeantruntime="false" srcdir="src/main/java"
destdir="gen/bin/main">
<classpath refid="main.compile.path"/>
</javac>
Run Code Online (Sandbox Code Playgroud)
如果不是,为什么?如果是这样,如何?提前致谢!
您不能像这样添加单个类文件,您可以将一个目录添加到类路径中,编译器将在该目录下从其包结构派生的相对路径中查找类。据我所知,这是不可协商的 - 目录结构必须与包结构相匹配。
例如,如果定义的类SomePOJO.class是stragglers.SomePOJO,那么您需要将该gen目录添加到类路径中
<javac includeantruntime="false" srcdir="src/main/java"
destdir="gen/bin/main">
<classpath>
<pathelement location="gen" />
<path refid="main.compile.path"/>
</classpath>
</javac>
Run Code Online (Sandbox Code Playgroud)
如果文件的路径与类的声明.class不匹配package,那么您必须将其移动到与包结构匹配的临时目录中,然后将该目录添加到类路径中。
构建引用您的类文件的路径:
<path id="javac.classpath">
<pathelement location="./gen/stragglers/SomePOJO.class"/>
</path>
Run Code Online (Sandbox Code Playgroud)
然后在您的 javac 任务中使用它:
<javac srcdir="./src/main/java" destdir="./gen/bin/main">
<classpath refid="javac.classpath"/>
</javac>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5577 次 |
| 最近记录: |