将JAR依赖项添加到Eclipse插件Maven Tycho构建
開發OPP項目時,一直困擾著我的是使用硬編碼Java庫依賴項。 我手動下載了所用庫的jar ,將其復制到需要它們的插件中的目錄中,然后將其添加到MANIFEST.MF文件中。
您可能會問我為什么要這樣做。 好吧,Eclipse插件(或更正確的OSGi項目)是使用稱為“ Tycho”的插件在Maven中構建的。 此構建過程與標準Java Maven構建過程不同,特別是在處理依賴項方面。
OSGi依賴項在MANIFEST.MF文件中定義,而不在項目的POM中定義。 當執行Maven時,它將查看MANIFEST.MF文件,提取依賴關系,然后嘗試從POM定義的存儲庫之一下載它們,正如所期望的那樣,該存儲庫的定義與Maven存儲庫不同。
我們熱愛標準。 這就是為什么我們至少需要兩個:-(。
回到我的問題:我在項目中使用了許多簡單的Java依賴項。 因此,在網上搜索后,我發現了Apache Felix Maven Bundle插件 (BND)。 在嘗試并再次嘗試正確配置其配置之后,我放棄了。 也許您需要博士學位來進行配置,所以我會在幾個月后再回來(希望:-))。
但是,嘿,我是一名開發人員,我應該自己抓癢,那么為什么不開發一款能夠滿足我需求的Maven插件呢? 是的,好主意! 但是經過兩周的工作(按工作量,我的意思是每天只有半小時才能完成此工作,周末除外),我發現自己有了一個簡單的Maven插件,該插件可以從此處復制文件,但是學習曲線陡峭。
然后,我重新發明了輪子,因為該解決方案已經發布在StackOverflow中,并且我已經讀了一段時間,但是卻忽略了它。 上周,在學習了更多Maven之后(因為我正在編寫一個插件),我了解到我可以創建一個新項目(標準Java maven項目),在該項目中下載依賴項,然后將依賴項復制到我的Eclipse插件項目中。 幾分鐘后,瞧! 有用! 您可以在OPP信息庫中找到結果。 僅Java項目是com.vainolo.phd.opp.java-dependencies ,這是Maven模塊com.vainolo.phd.opp.utilities所需的。 檢查如何編寫POM文件,以了解其工作原理。 我還將依賴項項目添加為com.vainolo.phd.opp.releng以便將其作為項目的一部分進行構建。
還有一個更簡單的方法來執行此操作而無需其他項目,如StackOverflow答案中所述 。 這里,使用特定于插件的配置選擇依賴項,在構建的初始階段之一(即validate )中直接調用maven-dependency-plugin插件。 對此進行了嘗試,但是盡管它適用于直接依賴項,但并未下載可傳遞依賴項。 這可能是配置問題,但是在此階段,我不會在此花費更多時間。
或許明年。
編碼愉快!
翻譯自: https://www.javacodegeeks.com/2016/01/adding-jar-dependencies-eclipse-plugin-maven-tycho-build.html
總結
以上是生活随笔為你收集整理的将JAR依赖项添加到Eclipse插件Maven Tycho构建的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: 与邻为壑什么意思 与邻为壑的意思
 - 下一篇: 用像写一个句子 怎么用像造句