为什么Eclipse在从Java接口实现方法时不包含注释?
以下界面:为什么Eclipse在从Java接口实现方法时不包含注释?,java,eclipse,interface,annotations,Java,Eclipse,Interface,Annotations,以下界面: import javax.xml.ws.Action; public interface AnnotationsTestInterface { @Action public void annotatedMethod(); } 和一个实现类: public class Impl implements AnnotationsTestInterface {} 此时,Eclipse要求我添加未实现的方法(我选择此选项)或使类抽象 添加后,该类如下所示: import j
import javax.xml.ws.Action;
public interface AnnotationsTestInterface {
@Action
public void annotatedMethod();
}
和一个实现类:
public class Impl implements AnnotationsTestInterface {}
此时,Eclipse要求我添加未实现的方法(我选择此选项)或使类抽象
添加后,该类如下所示:
import javax.xml.ws.Action;
public class Impl implements AnnotationsTestInterface {
@Override
@Action
public void annotatedMethod() {
// TODO Auto-generated method stub
}
}
它正确地写入动作注释
在另一个Eclipse实例(同一版本,不同的用户)上,“添加未实现的方法”操作的结果如下(无@action
注释):
有解决这个问题的办法吗
请注意,执行环境是在JavaSE6上设置的,带有JDK6。在eclipse上,转到窗口->首选项->Java->代码样式->清理,然后在那里四处查看。如果没有,请以代码样式四处查看。你应该找到它!如果我不得不猜测,如果@Action没有出现在TODO自动生成的东西smutzle中,那么你有一个旧版本的eclipse,或者它没有配置成这样。我以前在eclipse中自动生成的东西有问题。在日食中 窗口>首选项>java>代码样式>代码模板 我认为您需要的设置是接口体
此设置包含新创建的文件/方法的所有默认代码两个Eclipse实例是否使用相同的
工作区
?如果不是,源代码是如何共享的,您如何知道它们运行的是完全相同的代码?不是相同的工作区。代码是手工复制的,只是为了测试。我觉得应该有一些设置。你能运行一个文件比较吗(在java文件的两个版本之间?只是为了确定。两个类的文件比较突出显示了缺少的注释。接口是相同的。您和其他人使用的是哪一个eclipse版本?此外,即使是同一版本,使用不同的插件和扩展也会导致这种差异。谢谢您的回答。我四处看了看,但没有发现任何相关信息。无论如何,谢谢。很高兴我能帮上忙!:)当然,有一个难题已经解决了。也许可以尝试在谷歌上搜索“eclipse product@Action”之类的东西
public class Impl implements AnnotationsTestInterface {
@Override
public void annotatedMethod() {
// TODO Auto-generated method stub
}
}