【问题标题】:Add JavaDoc @author tag to every java file in my project将 JavaDoc @author 标记添加到我项目中的每个 java 文件
【发布时间】:2013-04-16 15:44:48
【问题描述】:

我有一个包含很多文件的 Java 项目。在其中的一些中,我在类/接口声明之前插入了一个 JavaDoc @author 标记,但不是全部。我想要一个脚本(bash、perl 等)能够为所有没有的文件在正确的位置(就在类声明之前)添加@author 标签。何找到在哪里添加此 javadoc 的正确行?:

/*
 * @author alepac
 */

【问题讨论】:

标签: javadoc author


【解决方案1】:

不是脚本,但如果您的 Java 项目恰好是使用 Maven 构建的,那么您可以使用 Javadoc pluginjavadoc:fix 目标,您可以对其进行配置,以便它在缺少的地方插入 @author 标记,包括根本没有 javadoc 的情况:

<plugin>
    <artifactId>maven-javadoc-plugin</artifactId>
    <groupId>org.apache.maven.plugins</groupId>
    <version>2.10.3</version>
    <configuration>
        <fixTags>author</fixTags>
        <force>true</force>
        <fixFieldComment>false</fixFieldComment>
        <fixMethodComment>false</fixMethodComment>
    </configuration>
</plugin>

【讨论】:

    【解决方案2】:

    你可以试试下面的脚本,

    #!/bin/bash
    
    function proccess_all_files {
    FILES="./*"
    cd "$1"
    for i in $FILES
    do
    if [[ -d "$i" ]]; then
    echo "Directory $i found...no action taken"
    else
    echo "Processing $i file..."
    sed '/*
     * @author alepac
     */' $i > $i.bak
    mv "$i.bak" "$i"
    fi
    done
    for j in * .[!.]* ..?*; do
    cd "$1"
    test -d "$1/$j" && proccess_all_files "$1/$j"
    done
    }
    
    proccess_all_files "`DIRECTORY NAME`"
    

    让我知道它是否对您有帮助,或者这是否正是您想要的。

    希望对你有帮助。

    【讨论】:

    • 我不是 sed 大师,但它通常用于模式替换而不是连接(我通常使用 cat),我不明白你的语法。此外,如上所述,我不想将 javadoc 插入文件顶部,而是在 javadocs 指定的类/接口声明之前插入。
    • 不使用sed,我猜你需要使用一些编辑器来为你编写.bak 文件。我刚刚有这个脚本来解决我的同样问题。但是,它仍然值得分享,至少会给你一些关于它是如何完成的想法。对不起,如果它没有那么有帮助......
    猜你喜欢
    • 2011-06-19
    • 2013-04-23
    • 2014-12-19
    • 2012-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-20
    • 2014-08-09
    相关资源
    最近更新 更多