Maven包引用出现重复包,去重复包3种方法(javassist)

我出现的问题是由于Hiberante中引用的包为<groupId>org.javassist</groupId>而strtus2中引用的包为<groupId>javassist</groupId>,由于引用不同,导致打包项目内含两个项目,此时布暑项目时会报错误.要去掉一个javassist包

1.使用maven中的pulgin功能

<plugin>

        <groupId>org.apache.maven.plugins</groupId>

        <artifactId>maven-war-plugin</artifactId>

        <version>2.0.2</version>

        <configuration>

              <warSourceExcludes>WEB-INF/lib/javassist-3.11.0.GA.jar</warSourceExcludes>

       </configuration>

</plugin> 

只方法是强制去掉包,如果maven用到profiles打包方式就会启动项目时报错

2.由于知道是那个包要去掉,所以我们直接让此jar包不参与打包

<dependency>

<groupId>javassist</groupId>

<artifactId>javassist</artifactId>

<version>3.11.0.GA</version>

<scope>test</scope>

 

</dependency>

将<scope>test</scope>设置为test类型,简单粗暴,此时打包不会将包打入项目,启动不会报错

3.将包的groupId替换为一到的,我这里是将<groupId>org.javassist</groupId>替换为<groupId>javassist</groupId>

<dependency>

            <groupId>org.apache.struts</groupId>

            <artifactId>struts2-core</artifactId>

            <version>${struts2.version}</version>

            <exclusions>

                <exclusion>

                    <groupId>javassist</groupId>

                    <artifactId>javassist</artifactId>

                </exclusion>

            </exclusions>

 

        </dependency>

些方法查找原因会有些麻烦,我是借助于IDea 的Diagrams工具。查看包的引用。



 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值