0

これらの Java ファイルのコンパイルに問題があります。クラス MeterMovementService.java とインターフェース MeterMovementServiceMBean.java があります。クラスはこのインターフェイスを実装しています。そして、最初にインターフェイスをコンパイルしました。クラスとインターフェイスの両方が同じパッケージに存在します。しかし、クラスをコンパイルしようとすると、次のようなエラーが発生します。

MeterMovementService.java:2: error: cannot find symbol
public class MeterMovementService  implements MeterMovementServiceMBean
                                              ^
  symbol: class MeterMovementServiceMBean
1 error

MeterMovementService.java クラスのコードは次のとおりです。

私のクラスには依存関係がありません。インターフェースを実装するだけです。

  public class MeterMovementService  implements MeterMovementServiceMBean {
   private String message = "Sorry no message today";
   public String getMessage(){
      return message;
   }
   public void setMessage(String message){
      this.message = message;
   }
   public void printMessage(){
      System.out.println(message);
   }
   public void start() throws Exception{
       System.out.println(">>>>Starting with message=" + message);
   }
   public void stop() throws Exception{
       System.out.println(">>>>Stopping with message=" + message);
   }
}
4

2 に答える 2

1

クラス ファイルがパッケージ フォルダーの下に配置されていることを確認する必要があります。たとえば、インターフェイスが package - の下で定義されている場合pkg1、クラス ファイルはpkg1サブフォルダーの下にある必要があります。

ディレクトリ構造は次のようになります。

srcfolder -+
           +- pkg1 -+- MeterMovementServiceMBean.class
           |        +- MeterMovementService.class
           |
           +- MeterMovementService.java
           +- MeterMovementServiceMBean.java

クラス ファイルを手動で移動する必要があります。または、以下のコマンドを使用して .java ファイルをコンパイルし、コンパイラにすべて処理させることもできます。

javac -d . MeterMovementServiceMBean.java
于 2013-06-27T20:02:52.623 に答える
1

javac -d . *.java現在のディレクトリ内のすべての Java ファイルをコンパイルし、コンパイルされたクラスファイルをパッケージ構造に従ってパッケージ化します。

于 2013-06-28T09:46:06.480 に答える