3
我正在为当前项目使用MPJ-api。我正在使用的两种实现是MPJ-express和Fast-MPJ。但是,由于它们都实现了相同的API,即MPJ-API,由于名称空间冲突,我无法同时支持这两种实现。避免Java MPI绑定中的名称空间冲突
是否有任何方式使用相同的包和类名来包装两个不同的库,以便可以在Java或Scala中同时支持这两个库?
到目前为止,我能想到的唯一方法就是将模块移动到单独的项目中,但我不确定这将是什么方法。
我不认为这会工作,因为我需要添加的两个罐子都包含一个名为mpi.MPI的类。这不会是一个问题,因为我可以热插拔jar文件,但是在某些方法(错误地)大写的库中甚至存在不一致... – Felix
@Felix好点。你可以使用'JarJar'来重命名包:http://radomirml.com/2009/11/08/repackaging-conflicting-jars-with-jarjar我必须承认我从来没有尝试过。 – paradigmatic