Maven shade的使用

有时你的工程里会和你的Spark环境出现包冲突,这时候可以用Maven shade将你的包名重命名,在maven里加上:

<plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-shade-plugin</artifactId>
                <version>2.4.1</version>
                <configuration>
                    <createDependencyReducedPom>false</createDependencyReducedPom>
                </configuration>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>shade</goal>
                        </goals>
                        <configuration>
                            <relocations>
                                <relocation>
                                    <pattern>org.apache.curator</pattern>
                                    <shadedPattern>mypackage.mycurator</shadedPattern>
                                </relocation>                                
                            </relocations>
                            <transformers>
                                <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer" />
                            </transformers>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

这样就可以将org.apache.curator包改成mypackage.mycurator包,避免了包冲突。

猜你喜欢

转载自my.oschina.net/u/778683/blog/2988431