我正在使用SpringBoot 1.4.2。我希望能夠從命令行啓動我的SpringBoot應用程序,並指定在啓動應用程序時還應對其進行組件掃描的其他外部jar。我不能使用spring-boot-maven-plugin
,因爲當我想啓動它時,我不會有彈簧引導應用程序的pom。在運行時動態添加罐子到SpringBoot
我曾嘗試以下,到目前爲止,其中my-jar.jar
是彈簧啓動應用程序和external-jar.jar
是外部罐子我想包括在命令行上:
java -cp my-jar.jar -Dloader.path=external-jar.jar -Dloader.main=com.my.Application org.springframework.boot.loader.JarLauncher
這將啓動,但不組件掃描external-jar.jar
java -cp external-jar.jar:my-jar.jar -Dloader.main=com.my.Application org.springframework.boot.loader.JarLauncher
這啓動失敗,稱external-jar.jar
@Autowired
條件不滿意,即使在my-jar.jar
類並滿足他們。我試過顛倒了類路徑上的jar的順序,但這並沒有解決問題。
java -Dloader.path="external-jar.jar" -jar my-jar.jar
這將啓動,但不組件掃描external-jar.jar
我SpringApplication類的頂部我的組件掃描路徑有兩種my-jar.jar
和external-jar.jar
一個包路徑和內直接引用external-jar.jar
時,我已經驗證了我的它是組件掃描。
我真的不能夠感謝你! 'java -cp my-jar.jar -Dloader.path = external-jar.jar -Dloader.main = com.my.Application org.springframework.boot.loader.PropertiesLauncher' works – user783836