• 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

     
  • 相关阅读:
    【转】简单地用nfs实现linux间文件共享
    CentOS 6.1上部署SVN时遇到的问题及解决方法
    ubuntu下部署SVN服务
    LINUX GBK>UTF8文件编码批量转换脚本[转]
    Thinkpad E420 3YC(双显卡)安装64位Ubuntu 11.10笔记
    拦截器详解
    快排的算法
    冒泡排序的算法
    struts2的输入校验
    ssh整合开发
  • 原文地址:https://www.cnblogs.com/aocshallo/p/6561192.html
Copyright © 2020-2023  润新知