2011-11-03 91 views
1

我的目錄結構是:包不存在?

  • ABC/src/com/example/model/a.java
  • ABC/src/com/example/web/b.java

代碼a.java

package com.example.model; 

public class a { 
    // ... 
} 

代碼b.java

package com.example.web; 

import com.example.model.*; 

public class b { 
    // ... 
} 

我已經將CLASSPATH環境變量設置爲Tomcat的servlet-api.jar,所以我不需要將它包含在javac命令中。

現在a.java編譯正常,但是當我編譯b.java它說「package com.example.model does not exist」。

這是如何造成的,我該如何解決?我正在使用Ubuntu 10.10。

+3

爲什麼你不使用一些IDE? –

+0

什麼是你使用的編譯命令 – gamozzii

+0

@JigarJoshi我確實使用eclipse ......並且所有的東西都可以正常使用......但是出於好奇,我嘗試了上述方法,但它並沒有奏效! – YetAnotherG33k

回答

2

添加的輸出目錄(ABC /類或類似),以使用javac類路徑,這樣的javac能找到的類。

編輯:

其實,首選的方法是添加-sourcepath選項,如AlexR指出。

這樣,編譯器將使用您的代碼的當前源代替上次編譯時的類文件。

+0

非常感謝好友!!它的工作.. – YetAnotherG33k

+0

按照AlexR的建議添加sourcepath可能會更好。這樣編譯器將能夠找到尚未編譯的類。 –

0

加入ABC/src目錄到你的classpath和嘗試

1

我想你忘了添加-sourcepath選項。你的編譯器不知道你的源代碼在哪裏,所以它找不到以前編譯過的a.class。如果你添加這個選項,你甚至可以只編譯b.java,並且a.java將被自動編譯。

順便說一句,按照java命名約定類名稱以大寫字母開頭