2013-03-14 503 views
0

後,我包括在螞蟻的build.xml的jar lib下,我還是得到了錯誤:MongoDB的Java驅動程序:異常在線程 「主要」 java.lang.NoClassDefFoundError:COM /的MongoDB/MongoClient

Exception in thread "main" java.lang.NoClassDefFoundError: com/mongodb/MongoClient 

我螞蟻相關的配置情況如下:

<target name="compile" depends="clean"> 
    <mkdir dir="${classes}"/> 
    <javac srcdir="${src}" destdir="${classes}" includeantruntime="false" debug="on"> 
     <classpath id="classpath"> 
      <pathelement path="${classpath}"/> 
      <fileset dir="lib"> 
       <include name="mongo-2.10.1.jar"/> 
      </fileset> 
     </classpath> 
    </javac> 
</target> 

「包含」部分的東西是工作,因爲出了包括部分甚至我改變路徑一點點,我會找不到符號錯誤,這意味着目前類路徑真正包含在文件中。但爲什麼它仍然無法工作,任何人都有一些想法?

順便說一句,這是我的Java代碼的第一行出現錯誤:

MongoClient mongoClient = new MongoClient("localhost",27017); 

即使沒有得到的插入和查詢操作.....

+1

你的意思是你得到這個異常編譯期間?如果您在運行過程中遇到此異常,請檢查該類路徑或發佈該目標。 – longhua 2013-03-14 04:10:35

+0

對不起,你是對的,其實是因爲我沒有正確配置jar命令,與javac命令無關 – 2013-03-20 05:15:35

回答

1

您已經只在這裏共享你的「編譯」目標 - 如果你只是將mongo jar文件添加到編譯目標中,那麼當你真正運行時你將會失去依賴。

檢查mongo jar是否也在運行時類路徑中 - 這可能是在「java」ant目標中配置的,具體取決於您的應用程序。

-1

你可能想要直接檢查你的mongo-java-driver-XXX.jar文件。較老的版本沒有com.mongodb.MongoClient類。你可以用Mongo代替。

而不是

MongoClient client = new MongoClient(); 

鍵入:

Mongo client = new Mongo(); 
相關問題