2012-10-29 84 views
1

有沒有一種方法(內置或通過插件)限制從Eclipse中的其他軟件包訪問Java包?如何在Eclipse中限制對軟件包的訪問Java Project

實施例:

包(在相同的項目):

com.my.project.common

com.my.project.serviceV1

com.my.project .serviceV2

現在我想限制從服務V1和服務V2 常見。但是,當然這些服務應該被允許訪問公共軟件包

+0

你對'public','protected','private' Java關鍵字的熟悉程度如何? –

+1

@AlexisPigeon,我認爲OP正在尋找一種限制某些軟件包的方法,我認爲它不一定會使用軟件包保護。例如,他可能希望com.my.project.someOtherPackage能夠訪問serviceV1。我可能是錯的,我們會看到他是如何迴應的。 –

+0

@JeffStorey @JeffStorey我的觀點是,如果熟悉public/protected/private的基本知識,應該知道OP想要實現的基本上是不可能的:) –

回答

1

編輯:如果你正在尋找的是簡單的包級別保護,可以使用private/protected/public/default包範圍來實現,那麼我同意來自@AlexisPigeon的評論 - 這是最簡單的路線。否則,我會考慮下面提出的jdepend解決方案。

不,這是不可能的。我建議看看JDepend。它可以生成包依賴關係的報告。如果違反了你的一個依賴約束,你可以編寫一個腳本來解析輸出,然後失敗你的構建(有maven,ant和gradle的jdepend插件)。