開發四年只會寫業務代碼,分布式高并發都不會還做程式員?->>>
springboot多模塊打包問題:本人新建了一個springboot專案,后想擴展為多模塊形式,增強擴展性,但發現springboot無法掃描到子模塊中的注解,后在啟動類中加入掃描路徑,springboot在IDE中成功啟動,子模塊中的注解也可以掃描到了,如下。
@SpringBootApplication(scanBasePackages={"com.news.*"})
@MapperScan({"com.news.dao"})
啟動后如下:
可見已經成功啟動服務并掃描出子包中的注解,經測驗可以正常使用,
使用spingboot自帶的插件打包并指定入口,且子包依賴也正常,打包后啟動
服務依舊正常啟動,不過子包中的注解沒有被掃描到,據查子包被打成jar包后路徑有問題,必須將子包中的路徑加入清單檔案,不過我不知道maven怎么加?網上的一些配置不管用
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<addMavenDescriptor>true</addMavenDescriptor>
<manifest>
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
<addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
</manifest>
<manifestEntries>
<Implementation-Build>${buildNumber}</Implementation-Build>
</manifestEntries>
</archive>
</configuration>
</plugin>
哪位大神有這樣的配置指點一下,或者有別的解決方法也可。
uj5u.com熱心網友回復:
你好,解決了?我也碰到了同樣的問題。
uj5u.com熱心網友回復:
在模塊中也加上boot啟動類,按正常啟動jar 那種,加上注解等,然后再在需要的模塊中將原先的啟動類中的引數改成入參為陣列將兩個啟動類加入陣列
uj5u.com熱心網友回復:
另外boot插件不用加別的東西
uj5u.com熱心網友回復:
<!-- <plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
指定該Main Class為全域的唯一入口
<mainClass>com.sz.youban.AgentApplication</mainClass>
<layout>ZIP</layout>
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal>可以把依賴的包都打包到生成的Jar包中
</goals>
</execution>
</executions>
</plugin> -->
把main那個換成你自己的就可以
uj5u.com熱心網友回復:
可以這樣解決:

其中紅框為需要加載的jat包中的啟動類
uj5u.com熱心網友回復:
留名,不謝。Springboot版本2.1.6https://blog.csdn.net/z69183787/article/details/104355792
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/267934.html
標籤:其他技術討論專區
上一篇:flash碰撞檢測事件代碼怎么做
