Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么IntelliJ IDEA会发出警告说这个文件javadoc正在挂起?_Java_Intellij Idea_Javadoc - Fatal编程技术网

为什么IntelliJ IDEA会发出警告说这个文件javadoc正在挂起?

为什么IntelliJ IDEA会发出警告说这个文件javadoc正在挂起?,java,intellij-idea,javadoc,Java,Intellij Idea,Javadoc,我使用IntelliJ IDEA,并尝试在文件顶部添加Javadoc注释,如下所示: /** * @file ProcessJson.java * @author Tim Sloane * @date 2017-05-09 */ 但是IntelliJ给了我一个警告“悬空Javadoc注释”。是什么让这个注释悬空?我想,因为它是用@file标记的,所以应该在文件的开头。Javadoc没有@file或@date标记。您应该标记该类 /** * Description of the cla

我使用IntelliJ IDEA,并尝试在文件顶部添加Javadoc注释,如下所示:

/**
 * @file ProcessJson.java
 * @author Tim Sloane
 * @date 2017-05-09
 */

但是IntelliJ给了我一个警告“悬空Javadoc注释”。是什么让这个注释悬空?我想,因为它是用@file标记的,所以应该在文件的开头。

Javadoc没有@file或@date标记。您应该标记该类

/**
 * Description of the class goes here.
 * 
 * @author Tim Sloane
 */
public class ProcessJson {
见:


花点时间阅读此警告的扩展帮助,重点是:

挂起Javadoc注释的报告。如果Javadoc注释不属于任何类、方法或字段,则Javadoc注释将悬空。例如,在具有自己的Javadoc注释的方法声明之间的Javadoc注释

您的Javadoc注释不属于类、方法或字段,因此它确实是悬而未决的。
@file
标记,因此添加它是多余的


或者,您可以删除一个星号而不使用Javadoc,从而使IntelliJ在这件事上保持沉默…

以防万一,如果您有兴趣删除此悬而未决的Javadoc注释检查,您可以通过以下方式禁用它:

  • 开放首选项
  • 导航到编辑器-->检查
  • 在右侧菜单列表下,选择Java-->JavaDoc
  • 取消选中“悬挂Javadoc注释”

  • 如果将Javadoc注释放在任何注释之后,您也会看到这一点

    例如:

    @Data
    @JsonInclude(JsonInclude.Include.NON_NULL)
    @SuppressWarnings({"unused", "WeakerAccess"})
    /**  --> Dangling Javadoc warning.
     * This class does great and wonderful things.
     */
    public class ClassThatDoesStuff {
    }
    
    相反,Javadoc必须位于所有内容之前,才能收到“此文件中未发现错误”的批准印章:

    /**
     * This class does great and wonderful things.
     */
    @Data
    @JsonInclude(JsonInclude.Include.NON_NULL)
    @SuppressWarnings({"unused", "WeakerAccess"})
    public class ClassThatDoesStuff {
    }
    

    Intellij Idea会警告您“挂起Javadoc注释”

    1-如果在
    Javadoc
    之后插入类,则导入声明:

    /**
     * @author Elyas 'Eloy' Hadizadeh Tasbiti
     * Created in 3/16/20, 1:15 PM.
     */
    
    import org.springframework.stereotype.Controller;
    import org.springframework.ui.ModelMap;
    import org.springframework.web.bind.annotation.GetMapping;
    import org.springframework.web.bind.annotation.RequestMapping;
    
    @Controller
    @RequestMapping("/")
    public class HomeController
    {}
    
    2-如果将Javadoc注释放在类级注释之后:

    @Controller
    @RequestMapping("/")
    /**
     * @author Elyas 'Eloy' Hadizadeh Tasbiti
     * Created in 3/16/20, 1:15 PM.
     */
    public class HomeController
    {}
    
    3-如果您使用了JavaDoc无法理解的不适当标记,如
    @file
    @date


    尽管您可以跳过这些警告,或者通过省略第一行中的一个星号,将Java文档注释更改为常规注释,但我强烈建议您使用Java文档,它很快就会非常有用,并生成HTML格式的标准文档。

    啊,我明白了。这里的标准目前是基于Doxygen的,我必须和我的同事谈谈更新它的问题。