在 Ant 中,如果我有一个单独的已编译 CLASS 文件位于我的项目中的某处(比如 gen/stragglers/SomePOJO.class
,当我目前有以下内容时,是否有办法专门将该类文件添加到我的 <javac>
编译类路径中:
<javac includeantruntime="false" srcdir="src/main/java"
destdir="gen/bin/main">
<classpath refid="main.compile.path"/>
</javac>
如果不是,为什么?如果是这样,如何?提前致谢!
最佳答案
您不能像这样添加单个类文件,您可以将目录 添加到类路径,编译器将在该目录下的类从其包结构派生的相对路径中查找类。据我所知,这是不可协商的 - 目录结构必须匹配包结构。
例如,如果 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>
如果 .class
文件的路径与类的 package
声明不匹配,那么您必须将它移动到一个临时目录中,确实匹配包结构,然后将该目录添加到类路径中。
关于java - Ant:将单个已编译的类文件添加到 javac 类路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17747607/