【问题标题】:How to use GeoScript groovy library inside Java project?如何在 Java 项目中使用 GeoScript groovy 库?
【发布时间】:2015-12-01 16:56:15
【问题描述】:
我有一些空间功能的 spring/postgis 服务,但我还没有找到可以 interpolate 指向线串的 Java 库。
我想使用这个地理脚本库来做到这一点,但我不知道该怎么做。
我已阅读有关如何在 Java 代码中动态加载 groovy 类的信息,但我不确定如何使用外部库代码执行此操作。我应该将此地理脚本添加到 build.gradle 吗?
或者也许有一些更有效的方法来做到这一点?
【问题讨论】:
标签:
java
intellij-idea
groovy
【解决方案1】:
我只是试了一下,它工作得完美无缺。最终编译好的 Groovy 库只是 Java 字节码。
引用 Groovy in Action,第 1.1.2 章与 Java 完美结合:无缝集成:
Groovy 只是
一种创建普通 Java 类的新方法——
从运行时的角度来看,Groovy 是 Java
有一个额外的 JAR 文件作为依赖项。
所以添加这些依赖项
compile 'org.codehaus.groovy:groovy-all:2.4.5'
compile 'org.geoscript:geoscript-groovy:1.6.0'
还有这个仓库
maven {
url "http://repo.boundlessgeo.com/main"
}
到您的 gradle 构建文件,一切顺利。
这是我尝试过的 Java 代码:
import geoscript.geom.LineString;
import geoscript.geom.Point;
public class Main {
public static void main(String[] args) {
LineString line = new LineString(new Point(1,2), new Point(3,4), new Point(4,5));
Point point = line.interpolatePoint(0.5);
System.out.println(point); // printed POINT (2.5 3.5)
}
}