簡體   English   中英

Java中使用注釋的依賴管理

[英]Dependency Management in java using annotations

我在所有Java項目(以及一些非Java項目)中都廣泛使用了Maven。 但是,我非常喜歡使用注解將配置從XML文件移到Java源文件中。 我最近在Groovy Grape頁面上找到了以下內容:

添加依賴

@Grab(group='org.springframework', module='spring', version='2.5.6')
import org.springframework.jdbc.core.JdbcTemplate

盡管這是Groovy代碼,但在Java中似乎並非應該完全沒有上述可能。 雖然似乎不太可能(或將要)將其內置到javac本身中,但可以將其內置到Maven或其他一些構建“包裝器”中。

你怎么看?

編輯:只是我想到注釋在Java中的導入語句上無效。 這確實存在問題...

您可以構建注釋預處理器,以分析這些注釋類型的來源。 此處查看Javadocs。

我認為您不希望使用依賴項注釋來注釋所有類。 這就是為什么將這些類分組到稱為模塊或項目的單元中的原因,以便一個工件的導入或依賴性解析可在特定組或模塊內的所有類之間使用。

但是,您可能會成為Gradle的忠實擁護者。 盡管它不完全是注釋,但Gradle可以解決您的大多數問題。

http://www.gradle.org/

從技術上講,可以在任何基於注釋和模塊結構的語言(groovy,python,antlr)上編寫* .java文件預處理器,該語言將處理文件並生成pom.xml(最好只是填充現有pom.xml中的依賴項)。 (注釋應注釋為不干擾Java編譯器和IDE突出顯示,例如舊的XDoclet)。 我想這是您自己的項目的想法)。 但是從我的角度來看,這是個壞主意。 如果要更改Spring版本會怎樣? 您應該掃描所有項目文件並替換它,然后重新編譯。 構建和配置應與代碼分開。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM