2016-12-19 84 views
0

我正在閱讀「Pro Spring Boot」一書中的「擴展Spring Boot應用程序」一章。在本章中,作者首先解釋如何創建自己的spring-boot-starter。源代碼可以找到here。我對maven和spring都很陌生。Spring Boot創建自己的啓動器

如果我使用與作者1.3.3.RELEASE相同的彈簧啓動版本,它工作正常。但它不適用於當前版本的spring-boot,我想使它適用於當前版本。

基本文件夾結構:

**/journal/ 
|-- spring-boot-journal 
| |-- src 
| |-- pom.xml 
|-- journal-spring-boot-autoconfigure 
| |-- src 
| |-- pom.xml 
|-- journal-spring-boot-starter 
| |-- src 
| |-- pom.xml 
|-- pom.xml 

我得到的錯誤,執行後「** /雜誌/ MVN清潔套裝= -DskipTests真」,用彈簧引導版本1.4.2.RELEASE時而不是1.3.3.RELEASE是:

**/journal-spring-boot-autoconfigure/src/**/JournalAutoConfiguration.java cannot find symbol: class JournalRepository

從子模塊spring-boot-journal導入類不再工作。 The spring-boot docs不包括如何從-spring-boot-autoconfigure模塊中的子模塊導入。我將如何解決這個問題在當前版本的spring-boot(1.4.2.RELEASE)中?

我注意到罐子包裝之間的差異可能解釋錯誤:

1.4.2.RELEASE: BOOT-INF/classes/com/apress/spring/repository/JournalRepository.class

1.3.3.RELEASE: com/apress/spring/repository/JournalRepository.class

回答

2

其中JournalRepository必須保持一個模塊,而不是一個完全成熟的春天啓動的應用模塊。看看源代碼顯然不是這樣,所以我要聯繫菲利普,看看是否可以改變。

1.4(正如你自己發現的那樣),包裝已經改變爲強制執行此操作:而不是將類放在「簡單罐子」的通常位置,我們現在將它們放在一個單獨的位置以使事物一致你也不會使用戰爭作爲庫依賴)。

maven插件的更新文檔說明how you can use a classifier so that the main artifact remains a simple library

相關問題