没有编译Java文件

没有编译Java文件,java,ant,Java,Ant,当源文件是包的一部分并且源树的目录结构不遵循包层次结构时,javacant任务无法编译java类。然而,我在不同的机器上看到,相同的 build.xml 文件运行正常 例如,如果我有一个包为com.abc.myapp.server.base的java文件,并且如果我的源文件位于C:\mySource\base文件夹下,javac无法编译此类。 但是,如果我将.java源文件移动到C:\mySource\com\abc\myapp\server\base文件夹下,一切都会正常进行 我在Window

当源文件是包的一部分并且源树的目录结构不遵循包层次结构时,
javac
ant
任务无法编译java类。然而,我在不同的机器上看到,相同的

build.xml

文件运行正常

例如,如果我有一个包为
com.abc.myapp.server.base
的java文件,并且如果我的源文件位于
C:\mySource\base
文件夹下,
javac
无法编译此类。 但是,如果我将
.java
源文件移动到
C:\mySource\com\abc\myapp\server\base
文件夹下,一切都会正常进行

我在Windows7上使用的是Ant1.8.0版本和JDK1.7.0_17版本


请告知

听起来您没有将目录结构设置为与java源文件包相匹配。类“org.example.abc.HelloWorld”的源应该位于/src/org/example/abc这样的目录中

通常,您希望build.xml位于您试图构建的任何项目的顶层,然后其中的javac任务可以引用包结构开始的源目录

大概是这样的:

<project name="example" default="compile">
    <target name="compile" description="compiles">
        <mkdir dir="build"/>
        <javac srcdir="src" destdir="build"/>
    </target>
</project>

这显然过于简化了,但应该可以帮助您开始


如果您仍有问题,请发布build.xml和项目布局的一些说明,以便我们提供帮助。

如果源文件位于某个包中,则必须遵循层次结构。发布build.xml,以便我们可以获得更多详细信息并帮助您……这是为您准备的,请检查