2010-12-14 103 views
6

我想將我們公司的版權信息添加到我們現有的所有源代碼文件中。將標題(版權)信息添加到現有源文件

該項目開發於Eclipse。所以,對於新文件,我可以修改建議here。但對於現有的文件,我該如何做到這一點。我如何修改數百個java文件來添加版權信息。 (我無法打開上面的鏈接中提到的RELENG插件。

任何基於Windows的文本maniputaion腳本語言也會有幫助。

+2

做的任何現有的文件已經有新的文件頭或者是否有任何一箇舊的需要更換? – 2011-01-12 18:55:01

+0

@Craig:現有文件沒有任何標題。我們需要添加新鮮的。 – HanuAthena 2011-01-13 06:13:39

回答

8

裝置校正康斯坦丁的溶液:

find . -name \*.java -exec sh -c "mv '{}' tmp && cp copyright '{}' && cat tmp >> '{}' && rm tmp" \; 

問題是& &正在由shell解釋,而不是直接傳遞給找到。逃避它們也不是解決方案,因爲find exec不理解它們。所以把整個命令給一些shell吧。

+0

偉大的小腳本!它對我很好! :) – Jona 2013-08-20 22:30:37

2

我想安裝Cygwin(核心+查找),做的事一種

find . -name *.java -exec mv '{}' tmp && cp copyright '{}' && cat tmp >> '{}' && rm tmp \;

+0

您好我嘗試過了 - 就這樣。但我得到錯誤「找到:缺少參數」執行「 – HanuAthena 2010-12-14 08:23:40

2

我想你可以使用Eclipse使用正則表達式替換命令

試想一下,你的版權是這樣的:。

/* jQuery UI CSS Framework 
* Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about) 
* Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses. 
*/ 

然後

1. Go to menu: Search -> File 

2. in the Search dialog 
2.1. check the "Regular Expression" 
2.2. in the Containing text: 
    \A[^(\Q/*\E\s+jQuery.*)] 
2.3 click the Replace 
    past your copyright 

正則表達式的說明:

\ A - 啓動文件的

\ Q ...。\ E - 這裏去正則表達式的關鍵字(因爲/和*是正則表達式中的鍵)

\ s + - 空格

[^(..)〕 - 除了

2

您可以使用maven license插件來執行此操作。

檢查thisthis。該插件支持許可證標題的模板,刪除許可證並檢查所有文件中的許可證。

5

請嘗試eclipse Releng插件。
這將有助於修復/添加所有.java文件和.properties中的版權聲明。
只需右鍵單擊該項目,然後選擇「修復版權」。
Link