You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Mapsforge Mapfile-writer插件与Osmosis生成地图时加载失败求助

解决Osmosis加载Mapsforge Mapfile-writer插件失败的问题

使用Mapsforge Mapfile-writer插件搭配Osmosis编译自定义地图时,出现插件加载失败的报错,具体错误信息如下:

Jun 16, 2023 9:09:37 AM org.openstreetmap.osmosis.core.Osmosis run
INFO: Osmosis Version 0.48.3
Jun 16, 2023 9:09:37 AM org.openstreetmap.osmosis.core.Osmosis main
SEVERE: Execution aborted.
org.openstreetmap.osmosis.core.OsmosisRuntimeException: Unable to load plugin class (mapsforge-map-writer-master-20230526.153436-506.jar).
    at org.openstreetmap.osmosis.core.TaskRegistrar.loadPluginClass(TaskRegistrar.java:340)
    at org.openstreetmap.osmosis.core.TaskRegistrar.loadPlugin(TaskRegistrar.java:319)
    at org.openstreetmap.osmosis.core.TaskRegistrar.initialize(TaskRegistrar.java:84)
    at org.openstreetmap.osmosis.core.Osmosis.run(Osmosis.java:81)
    at org.openstreetmap.osmosis.core.Osmosis.main(Osmosis.java:37)
    at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
    at java.base/java.lang.reflect.Method.invoke(Method.java:578)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchStandard(Launcher.java:330)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:238)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
    at org.codehaus.classworlds.Launcher.main(Launcher.java:47)
Caused by: java.lang.ClassNotFoundException: mapsforge-map-writer-master-20230526.153436-506.jar
    at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:50)
    at org.codehaus.plexus.classworlds.realm.ClassRealm.unsynchronizedLoadClass(ClassRealm.java:271)
    at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:247)
    at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:239)
    at org.openstreetmap.osmosis.core.TaskRegistrar.loadPluginClass(TaskRegistrar.java:338)
    ... 11 more

解决方案

  • 修正插件配置内容:错误核心是Osmosis把jar文件名当成了插件类名加载。打开Osmosis的plugins.conf配置文件,将其中的mapsforge-map-writer-master-20230526.153436-506.jar替换为插件的完整类名org.mapsforge.map.writer.osmosis.MapFileWriterPlugin。

  • 确认插件jar放置路径:确保插件jar文件放在Osmosis安装目录下的plugins文件夹中;如果使用自定义路径,启动Osmosis时需通过参数指定插件目录,示例命令:

    osmosis -Dplugin.dir=/your/custom/plugin/path [其他编译参数]
    
  • 匹配版本兼容性:你当前使用的是Osmosis 0.48.3,建议下载与该版本兼容的Mapsforge Mapfile-writer稳定版插件,避免使用快照版(如你当前的master快照包),减少版本不兼容导致的类加载问题。

  • 检查Java环境:确保使用的Java版本符合要求,Osmosis 0.48.3兼容Java 8及以上版本,避免高版本Java带来的兼容性冲突。

内容的提问来源于stack exchange,提问作者saad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 04:17:23