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

Geotools入门基础代码运行报错:ClassNotFoundException: javax.measure.spi.SystemOfUnits

Geotools代码报错:ClassNotFoundException: javax.measure.spi.SystemOfUnits 解决办法

这个错误的核心原因是项目缺少了单位测量相关的依赖包,Geotools在处理空间数据的单位转换、坐标参考系等逻辑时依赖javax.measure相关类。

解决步骤

  • 如果使用Maven管理依赖,在pom.xml中添加以下依赖:
<dependency>
    <groupId>javax.measure</groupId>
    <artifactId>unit-api</artifactId>
    <version>1.0</version>
</dependency>
<dependency>
    <groupId>tec.units</groupId>
    <artifactId>unit-ri</artifactId>
    <version>1.0.3</version>
</dependency>
  • 如果使用Gradle,在build.gradle中添加:
implementation 'javax.measure:unit-api:1.0'
implementation 'tec.units:unit-ri:1.0.3'
  • 手动导入jar包的话,需要下载unit-api-1.0.jar和unit-ri-1.0.3.jar,添加到项目的类路径中。

额外代码优化建议

你的入门代码还可以补充两个关键点,避免后续其他问题:

  1. 替换代码中的"filepath"为实际的矢量文件路径(比如shapefile的.shp文件路径)
  2. 增加DataStore的非空判断,防止文件无法识别时报空指针:
DataStore dataStore = DataStoreFinder.getDataStore(map);
if (dataStore == null) {
    System.err.println("无法识别该文件,请检查文件路径或文件格式");
    return;
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 16:12:58