我有一个使用libosm-2.5.2-RC1库的maven项目。该库包含渗透库。下载libosm时,渗透库已经打包在libosm库的jar文件中。问题是这个渗透库很旧,无法使用当前的OSM数据。在maven我可以添加一个新版本的渗透作为依赖,如果我把它放在比libosm库更早的POM文件中,那么使用新渗透的新类。但是,当我构建项目时,两个库都包含在lib文件夹中。在部署之后,tomcat服务器使用libosm中打包的旧渗透。
我想要实现的是使用libosm库,但是如果libosm和新的渗透库中都有类,那么我想使用新渗透库中的类。
一个有效的解决方案是手动解压缩libosm的jar文件并用新的osmosis类重写。但我想用maven实现同样的目的,因为我想分享这个项目,其他人手动添加我创建的更新的jar libosm文件并不方便。
答案 0 :(得分:0)
如果您不需要libosm-2.5.2-RC1中的类,并且如果您知道作为此jar的一部分不需要的包/类,则可以在maven-jar-plugin中删除它们。包装阶段。此链接显示了如何执行此操作。如果这有帮助,请告诉我。 http://maven.40175.n5.nabble.com/Excluding-packages-and-classes-from-jar-td106688.html