Java文件没有被编译

时间:2013-03-19 08:57:05

标签: java ant

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

  

的build.xml

文件运行正常。

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

我在 Windows 7 上使用 ANT 1.8.0 版本和 JDK 1.7.0_17 版本。

请告知

1 个答案:

答案 0 :(得分:0)

听起来您没有设置目录结构来匹配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以及项目布局的一些说明,以便我们提供帮助。