2013-03-19 75 views
0

當源文件是程序包的一部分並且源代碼樹的目錄結構未遵循程序包層次結構時,javacant任務無法編譯Java類。但是我看到,在不同的機器,同樣的Java文件未得到遵守

的build.xml

文件運行正常。

例如,如果我有一個包含com.abc.myapp.server.base包的java文件,並且如果我的源文件放在C:\mySource\base文件夾下,javac無法編譯此類。 但是,如果我將.java源文件移動到C:\mySource\com\abc\myapp\server\base文件夾下,則一切正常。

我使用ANT 1.8.0版本JDK 1.7.0_17版本上Windows 7的

請告知

感謝, CHANDAN

+0

如果源文件位於某個包中,則必須遵循層次結構。 – 2013-03-19 08:58:35

+0

發佈build.xml,所以我們可以有更多的細節和幫助你... – rascio 2013-03-19 08:58:37

+0

這一個是給你的,請查看http://en.wikipedia.org/wiki/Java_package – 2013-03-19 09:02:47

回答

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和項目佈局的一些描述,以便我們提供幫助。