<dependencies>
標籤和<Import-Package>
標籤中提到的包之間是否有任何關係?我的意思是如果我們不定義依賴關係,那麼maven-bundle-plugin無法在<Import-Package>
標記中找到包?maven-bundle-plugin如何在導入包中找到包
2
A
回答
4
Maven使用依賴項部分列出的jar來創建類路徑。 bnd(maven bundle插件中的引擎)使用此類路徑通過字節代碼分析來分析代碼所指的內容。
maven dependency -> classpath -> bnd analysis -> import statements
2
Import-Package
用於細化maven bundle插件爲您自動生成的包導入列表。例如,您可以聲明一些可選的導入,或者爲僅通過反射訪問的類添加導入。在大多數情況下,因爲缺省值爲*
,因此Import-Package
應該沒有必要指定任何內容 - 也就是說,將導入字節碼中引用的任何外部程序包。
dependencies
部分提供了編譯器用來生成字節碼的bundle池和bnd(這是封裝下的bundle插件)來改進軟件包導入。例如,它會根據依賴項列表(或傳遞依賴項)中的提供包中的導出版本添加版本範圍。
相關問題
- 1. 導入BlobDomain包未找到
- 2. 將EclipseLink導入OSGI包persistence.xml未找到
- 3. Python的相對導入找不到包
- 4. Dart2JS找不到導入包WebStorm
- 5. 將包導入到Flash中
- 6. 如何將另一個包的類導入到我的包中
- 7. 如何在omnetpp中導入包?
- 8. 如何在flex/bison中包含導入
- 9. 如何在vtigercrm71中導入語言包?
- 10. 如何在Go中導入本地包?
- 11. 如何在java中導入包
- 12. 如何在Python包中導入符號?
- 13. 如何在Android Studio中導入java包
- 14. 找到導出包的OSGI包?
- 15. 如何部署/導入war包到NetBeans
- 16. 如何導入java.nio.file包
- 17. 如何導入本地包?
- 18. 如何導入ms.security包
- 19. 如何從Eclipse導入包?
- 20. 如何導入軟件包
- 21. 如何導入AtmosphereJS包?
- 22. 如何導入com.google.android包。
- 23. python:如何導入包?
- 24. 如何在相關包導入中引用父包?
- 25. 如何在Scala中導入包含「type」部分的包?
- 26. Nuitka錯誤在絕對導入中找不到''包''
- 27. 在CQ5中導入包
- 28. 在go中導入包
- 29. Go - 包ast:在文件中找到包
- 30. 「在包中找不到.app包」
但是在哪裏可以自動在字節碼中找到引用的包?從本地的Maven倉庫? – user1450233
一旦包在字節碼中被引用,bundle插件已經知道它的名字,並且可以將它包含在導入包語句中,所以它不需要被「找到」。然而,幾乎總是在字節碼中引用的任何東西都將作爲maven依賴包含在內,因爲否則它如何被編譯? 「依賴項」部分中列出的依賴項是從本地或遠程Maven存儲庫中提取的。這允許bundle插件計算出要導入的版本範圍。 –