多模塊Maven項目中,spring無法掃描到子模塊jar包中的bean注解


前提

項目是由N個project組成的多模塊Maven項目:

  • web模塊,打包成war
  • 其他子模塊,打包成jar,由maven根據pom.xml的dependencies自動打包放入web模塊的WEB-INF/lib

問題

其他子模塊也用到了spring的注解,例如@Service、@Controller等等
當使用Weblogic啟動項目后,初始化Spring IOC容器失敗,報各種NoSuchBeanException異常

解決方法

在對應的 子模塊 的 pom.xml 文件中添加plugin,然后重新打包

	<plugin>
		<groupId>org.apache.maven.plugins</groupId>
		<artifactId>maven-jar-plugin</artifactId>
		<version>2.4</version>
		<configuration>
			<archive>
				<manifest>
					<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
				</manifest>
			</archive>
		</configuration>
	</plugin>

總結

該方法類似於使用eclipse,在打包 非Maven項目 時選擇Add directory entries選項


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM