我擁有一個包含大量文件的Java項目。在其中的一些中,我在類/接口聲明之前插入了一個JavaDoc @author標記,但不是全部。我想要一個腳本(bash,perl,不管)能夠在正確的位置添加@author標籤(就在類聲明之前),所有文件都沒有。何找到正確的路線在何處添加此的javadoc?:將JavaDoc @author標記添加到我的項目中的每個java文件
/*
* @author alepac
*/
我擁有一個包含大量文件的Java項目。在其中的一些中,我在類/接口聲明之前插入了一個JavaDoc @author標記,但不是全部。我想要一個腳本(bash,perl,不管)能夠在正確的位置添加@author標籤(就在類聲明之前),所有文件都沒有。何找到正確的路線在何處添加此的javadoc?:將JavaDoc @author標記添加到我的項目中的每個java文件
/*
* @author alepac
*/
你可以用下面的腳本嘗試,
#!/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 guru,但它通常用於模式替換而不是串聯(我通常使用cat),但我不明白你的語法。此外,如上所述,我不想在javadocs指定的類/接口聲明之前將javadoc插入到文件的地形中。 – Alepac 2013-04-23 12:48:12
如果不使用'sed',我想你需要使用一些編輯器來爲你編寫.bak文件。我剛剛爲我的同一個問題準備了這個腳本。但是,仍然值得分享,至少會給你一些關於它如何完成的想法..對不起,如果它沒有幫助... – 2013-04-23 12:53:17
沒有劇本的,但如果你的Java項目正好與Maven建成,那麼你可以使用javadoc:fix目標Javadoc plugin您可以進行配置,以便讓它能夠插入@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>
我建議喜歡在這裏討論沒有這個標籤完全做到:http://stackoverflow.com/questions/17269843/javadoc-author-tag-good-practices/17271433#17271433 – 2015-04-08 07:15:58