为什么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
    }
}