Код EPSG:4326 из центра EPSG не найден для объекта типа EngineeringCRS

Я пытаюсь использовать GeoTool CoordinateReferenceSystem со следующим кодом:

try {
    targetCRS = CRS.decode("EPSG:4326");
    logger.info("\nTarget: " + targetCRS.toWKT());
} catch (NoSuchAuthorityCodeException e) {
    logger.error(e.toString());
} catch (FactoryException e) {
    logger.error(e.toString());
} catch (Exception e) {
    logger.error(e.toString());
}

Это работает, когда я запускаю службу в vscode, но когда я развертываю ее в Kubernetes, я получаю:

31.03.2020 20:54:16,985 ОШИБКА (TrackRecordProjector.java:76) — org.opengis.referencing.NoSuchAuthorityCodeException: для объекта типа «EngineeringCRS» не найден код «EPSG:4326» из центра сертификации «EPSG».

Я предполагаю, что это как-то связано с базой данных HSQL, которая содержит эталонные системы.

Я проверил свой JAR, созданный с использованием:

    <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <configuration>
            <descriptorRefs>
                <descriptorRef>jar-with-dependencies</descriptorRef>
            </descriptorRefs>
        </configuration>
        <executions>
            <execution>
                <id>make-assembly</id>
                <phase>package</phase>
                <goals>
                    <goal>single</goal>
                </goals>
            </execution>
        </executions>
    </plugin>

Папка META-INF/services в JAR содержит две разные записи для org.opengis.referencing.cs.CSAuthorityFactory. Я проверил на основе комментария на этом сайте другой вопрос (Geotools не может найти базу данных HSQL EPSG, выдает ошибку: NoSuchAuthorityCodeException). Однако я не знаю, что это значит и как это исправить.


person Mike Stoddart    schedule 31.03.2020    source источник
comment
используйте подключаемый модуль Maven Shade вместо сборки — см. docs.geotools.org/stable/userguide/build/   -  person Ian Turton    schedule 01.04.2020
comment
Спасибо. Я предполагаю, что я упрямо придерживался плагина сборки, но я думаю, что вы оба правы, что мне нужно переключиться на плагин тени.   -  person Mike Stoddart    schedule 01.04.2020
comment
нет возможности заставить сборочный плагин сделать это, так как он не понимает, как объединять файлы spi   -  person Ian Turton    schedule 01.04.2020