我编译这些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);
}
}
答案 0 :(得分:1)
您需要确保将类文件放在包文件夹下。对于例如如果您的界面是在包{ - 1}}下定义的,那么您的类文件应位于pkg1
子文件夹下。
您的目录结构应如下所示:
pkg1
您必须手动移动类文件,或者甚至更好,您可以使用以下命令编译.java文件,让编译器为您处理:
srcfolder -+
+- pkg1 -+- MeterMovementServiceMBean.class
| +- MeterMovementService.class
|
+- MeterMovementService.java
+- MeterMovementServiceMBean.java
答案 1 :(得分:1)
javac -d . *.java
编译当前目录中的所有java文件,并根据其包结构打包已编译的类文件。