Java 为什么org.geoserver.extension会阻止我的Spring启动应用程序?

Java 为什么org.geoserver.extension会阻止我的Spring启动应用程序?,java,spring-boot,geoserver,geotools,Java,Spring Boot,Geoserver,Geotools,我尝试将EPSG:900913几何体对象转换为EPSG:4326。为了实现这一点,我使用以下代码: CoordinateReferenceSystem targetCRS = CRS.decode("EPSG:4326"); CoordinateReferenceSystem sourceCRS = CRS.decode("EPSG:900913"); MathTransform transform = CRS.findMathTransform(sourceCRS,

我尝试将EPSG:900913几何体对象转换为EPSG:4326。为了实现这一点,我使用以下代码:

    CoordinateReferenceSystem targetCRS = CRS.decode("EPSG:4326");
    CoordinateReferenceSystem sourceCRS = CRS.decode("EPSG:900913");

    MathTransform transform = CRS.findMathTransform(sourceCRS, targetCRS, true);
当我执行测试应用程序时,它引发了以下异常:

Exception in thread "main" org.opengis.referencing.NoSuchAuthorityCodeException: No code "EPSG:900913" from authority "European Petroleum Survey Group" found for object of type "CoordinateReferenceSystem".
at org.geotools.referencing.factory.AbstractAuthorityFactory.noSuchAuthorityCode(AbstractAuthorityFactory.java:951)
at org.geotools.referencing.factory.epsg.DirectEpsgFactory.createCoordinateReferenceSystem(DirectEpsgFactory.java:2102)
于是谷歌搜索并找到了解决方案:它需要对GeoTools的“WPS扩展”进行依赖。因此,我插入了此依赖项:

    <dependency>
        <groupId>org.geoserver.extension</groupId>
        <artifactId>gs-wps-core</artifactId>
        <version>2.8-SNAPSHOT</version>
    </dependency>

最有可能的是,gs wps核心库依赖于Spring安全性。如果Spring Boot在类路径上检测到Spring安全性,它将自动配置默认用户名和密码(将打印在应用程序日志中)

通过将以下属性添加到application.properties文件中,可以禁用安全配置:

security.basic.enabled=false

最有可能的是,gs wps核心库依赖于Spring安全性。如果Spring Boot在类路径上检测到Spring安全性,它将自动配置默认用户名和密码(将打印在应用程序日志中)

通过将以下属性添加到application.properties文件中,可以禁用安全配置:

security.basic.enabled=false

实际上,您只需要在其中一个gt epsg提供程序上添加依赖项即可访问GeoTools重投影代码。最常见的是gt epsg hsql,但如果您使用其他hsql模块,则可能会出现问题。这样,您就不需要添加任何只存在于GeoServer代码中的spring模块


有关这些问题的更全面解释,请参见。

实际上,您只需添加对其中一个gt epsg提供程序的依赖项即可访问GeoTools重投影代码。最常见的是gt epsg hsql,但如果您使用其他hsql模块,则可能会出现问题。这样,您就不需要添加任何只存在于GeoServer代码中的spring模块


有关这些问题的更全面解释,请参见。

请发布
mvn dependency:tree
的输出。最有可能的是,gs wps核心库依赖于Spring安全性。如果Spring Boot在类路径上检测到Spring安全性,它将自动配置默认用户名和密码(将打印在应用程序日志中)。@dunni我已经编辑了我的问题,并按照您的建议插入了依赖关系树。谢谢@dunni非常感谢,您认为安全依赖性是正确的。WPS扩展将Spring安全性作为依赖项。我排除了它们,现在我的应用程序又能工作了。但我问自己,为什么他们在一个简单的几何体转换扩展中添加了一个安全库???不管怎样,现在它工作了。我添加了它作为一个答案,也是一个附加的方法来禁用安全性,而不排除依赖项。扩展依赖于核心geoserver,作为一个完整的服务器应用程序,它还包括安全管理。请发布
mvn dependency:tree
的输出。最有可能的是,gs wps核心库依赖于Spring安全性。如果Spring Boot在类路径上检测到Spring安全性,它将自动配置默认用户名和密码(将打印在应用程序日志中)。@dunni我已经编辑了我的问题,并按照您的建议插入了依赖关系树。谢谢@dunni非常感谢,您认为安全依赖性是正确的。WPS扩展将Spring安全性作为依赖项。我排除了它们,现在我的应用程序又能工作了。但我问自己,为什么他们在一个简单的几何体转换扩展中添加了一个安全库???不管怎样,现在它工作了。我添加了它作为一个答案,也是一个附加的方法来禁用安全性,而不排除依赖项。扩展依赖于核心geoserver,作为一个完整的服务器应用程序,它还包括安全管理。谢谢dunni!我通过排除security spring依赖项解决了这个问题,但您的解决方案听起来更优雅。谢谢dunni!我通过排除security spring依赖项解决了这个问题,但您的解决方案听起来更优雅。