2016-10-01 49 views
0

我正在使用IntelliJ IDEA和JDK 8.如何解決「類文件包含錯誤的類」?

我有一些已編譯的Java類,我將它們作爲外部庫導入,因爲我已經使用這些類中的方法。但是,我似乎無法真正使用這些.class文件。

每當我嘗試運行此代碼:

public static int spendOnCokes(int sum, DrinksMachineA mach) { 
    int count = 0; 
    mach.insert(sum); 

    try { 
     while (mach.getBalance() >= mach.getPrice()) { 
      mach.pressCoke(); 
      count++; 
     } 
    } catch (EmptyMachineException e) { 
    } 

它給了我下面的錯誤:

Error:(21, 45) java: cannot access com.sanac.DrinksMachineA 
    bad class file: /homes/jmcv3/Documents/Java/ClassesArchive/com/sanac/DrinksMachineA.class 
    class file contains wrong class: DrinksMachineA 
    Please remove or make sure it appears in the correct subdirectory of the classpath. 

我,四處搜尋,有些人似乎認爲它有東西使用文件夾層次結構/包名稱。儘管我看起來很好。我也嘗試切換到JDK 5,因爲這是.class文件的編譯方式,但無濟於事。 (也讀了某個地方。)

下面是截圖概述目錄結構:

Structure

所有我想要的是能夠使用這些編譯的.class文件我的代碼。似乎很簡單,所以我必須錯過一些非常愚蠢的東西。有任何想法嗎?

+0

你可能在你的.java源文件開頭缺少這行:'package com.sanac;' – Andreas

+0

提供文件 – Andrew

+0

中的所有代碼也許這就是Endorphinex所說的。 –

回答

0

答案很簡單:.class文件不是外部庫。

您可以jar.exe的Java工具發揮「ClassesArchive」導出到一個.jar文件。

0

文件名和公共類名稱應該相同。我的觀點是它的一個名稱問題。

相關問題