记一次maven项目引用不到子项目jar包的问题

最近碰到问题 :web项目引用biz项目  ,启动时报错如下

 Cannot find class [com.aa.service.inf.kms.client.DataSource] for bean with name 'DataSource' defined in URL [jar:file:/Users/aa/eclipse-workspace-new/.metadata/.plugins/org.eclipse.wst.server.core/tmp1/wtpwebapps/A/WEB-INF/lib/B-1.0-SNAPSHOT.jar!/conf/spring/context.xml]; nested exception is java.lang.ClassNotFoundException: com.aa.service.inf.kms.client.DataSource
	at org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1391) ~[spring-beans-4.3.18.RELEASE.jar:4.3.18.RELEASE]

分析可能性有以下几中:

1、biz项目中的pom是不是有引入这个包,web项目的lib文件夹下边是否能下载下来这个包(java-client-0.7.6)

2、是否之前已经引入过包(java-client-0.6.1)和当前biz引入的包(java-client-0.7.6)产生版本冲突eclipse中解决方案

(1)直接使用maven命令:

dependency:tree -Dverbose

(2)直接搜索:

3、父项目用effective pom模式查看发现包(java-client-0.6.1)的版本(如下图)和当前biz引入版本(java-client-0.7.6)不一致,至于为什么父项目出现java-client-0.6.1这个版本我目前也没搞明白

解决方案为直接在父项目中引入版本(java-client-0.7.6)覆盖之前的版本(java-client-0.6.1)然后再在子项目biz中引用改版本(java-client-0.7.6)具体配置如下:

父项目中引用代码:

            <dependency>
             <groupId>com.aa.service.inf</groupId>
			 <artifactId>java-client</artifactId>
			 <version>0.6.7</version>
 			</dependency>

子项目中引用代码:版本号默认继承父项目版本0.6.7

        <dependency>
			 <groupId>com.aa.service.inf</groupId>
			 <artifactId>kms-java-client</artifactId>		 
 		</dependency>

 

4、web项目引入biz项目的时候,biz项目是否将该包排除在外(我犯的脑残问题就是这个)排查错误方式为:直接看web项目的lib下边能不能下载到java-client-0.6.7的包

  <dependency>
            <groupId>com.aa.finance.ebs</groupId>
            <artifactId>biz</artifactId>
            <exclusions>
                 <exclusion>
                	<groupId>com.aa.service.inf</groupId>
                	<artifactId>java-client</artifactId>
                </exclusion> 
            </exclusions>
        </dependency>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值