我有一个使用libosm-2.5.2-RC1库的maven项目。此库包含渗透库。下载libosm时,已经将渗透库打包到libosm库的jar文件中。问题是这个渗透库太旧了,不能与当前的OSM数据一起工作。在maven中,我可以添加一个新版本的渗透作为依赖项,如果我把它放在早于libosm库的POM文件中,那么就会使用来自新渗透的新类。但是,在构建项目时,这两个库都包含在lib文件夹中。在部署之后,tomcat服务器使用libosm中封装的旧的渗透机制。
我想要实现的是使用libosm库,但是如果libosm和新的渗透库中都有类,那么我想使用新的渗透库中的那些类。
一种可行的解决方案是手动解压libosm的jar文件,然后用新的重写旧的渗透类。但是我想用maven来实现同样的事情,因为我想分享这个项目,而其他人手动添加我创建的更新的jar libosm文件是不舒服的。
发布于 2013-05-29 08:18:34
如果你不需要libosm-2.5.2-RC1中的类,如果你知道哪些包/类不需要作为这个jar的一部分,你可以在maven-jar-plugin的包阶段把它们去掉。这个链接展示了怎么做。如果有帮助,请告诉我。http://maven.40175.n5.nabble.com/Excluding-packages-and-classes-from-jar-td106688.html
https://stackoverflow.com/questions/16801293
复制相似问题