pom使用异常问题

最近在学习POM组织代码,出现了一个奇怪的问题,在使用Barcode4J输入二维码的时候,在本机运行Application正常,在Tomcat服务器中报错,错误信息如下:

no such methode org.apache.avalon.framework.configuration.DefaultConfiguration.init(java.lang.String )...

这是一个非常令我困惑的错误,我的POM里引入了avalon-framework 来生成默认的配置文件信息,POM里加入了引用

    <dependency>
            <groupId>org.apache.avalon.framework</groupId>
            <artifactId>avalon-framework-impl</artifactId>
            <version>4.3.1</version>
        </dependency>

查看JAR包也存在相关的方法

怎么就运行不出来呢,在网上也没找到相关的问题,后来我仔细观察我的maven包,发现三个版本的avalon-framework(分别是3.1   4.3  4.3.1)

看来是不同版本的包冲突,利用Eclipse包依赖查看即可发现都是哪些包用到冲突的包(下面以一个包为例,说明查看依赖方法)


[解决方法]

发现问题,就知道如何解决了,把相关依赖的包却除关联即可

利用的原理就是POM去依赖包方法,我的问题是因为poi依赖的avalon-framework版本过低,正确的POM配置文件代码如下:

<!-- https://mvnrepository.com/artifact/net.sf.barcode4j/barcode4j -->
        <dependency>
            <groupId>net.sf.barcode4j</groupId>
            <artifactId>barcode4j</artifactId>
            <version>2.1</version>
            <exclusions>
                <exclusion>
                    <groupId>avalon-framework</groupId>
                    <artifactId>avalon-framework-impl</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi</artifactId>
            <version>3.5-FINAL</version>
            <exclusions>
                <exclusion>
                    <groupId>avalon-framework</groupId>
                    <artifactId>avalon-framework</artifactId>
                </exclusion>
            </exclusions>

        </dependency>

注意红色部分,groupId和artifactId 可以通过以下方法查询

 

 双击后结果如下:


本人根据Barcode4J的Servlet源码写了一个生成ean13的工具类,欢迎交流:

http://git.oschina.net/aocshallo/codes/qmk1jpbxs078d6wrzelvy45

 

转载于:https://www.cnblogs.com/aocshallo/p/6561192.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值