目录
- 在线构建
- 1.配置pom.xml
- 2 释放资源
- 离线构建
- 1 部署jar包
- 2 导入jar包
- 3 释放资源
- 运行测试
在线构建
一般情况下,优先使用在线构建方式。
1.配置pom.xml
您可以参照下列代码完成实现您的项目的pom.xml。当然这个前提是您的项目是一个maven工程。完成此步骤可以解决“程序包com.esri.arcgisruntime.geometry不存在”的报错。可以顺利下载arcgis-java依赖。
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>cn.wja</groupId>
<artifactId>gis-demo-online</artifactId>
<version>1.0-SNAPSHOT</version>
<name>gis-demo-online</name>
<url>https://blog.csdn.net/monarch91</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<arcgis.version>100.12.0</arcgis.version>
</properties>
<repositories>
<repository>
<id>arcgis</id>
<url>https://esri.jfrog.io/artifactory/arcgis</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.esri.arcgisruntime</groupId>
<artifactId>arcgis-java</artifactId>
<version>${arcgis.version}</version>
</dependency>
<dependency>
<groupId>com.esri.arcgisruntime</groupId>
<artifactId>arcgis-java-jnilibs</artifactId>
<version>${arcgis.version}</version>
<type>zip</type>
</dependency>
<dependency>
<groupId>com.esri.arcgisruntime</groupId>
<artifactId>arcgis-java-resources</artifactId>
<version>${arcgis.version}</version>
<type>zip</type>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>3.1.1</version>
<configuration>
<artifactItems>
<artifactItem>
<groupId>com.esri.arcgisruntime</groupId>
<artifactId>arcgis-java-jnilibs</artifactId>
<version>${arcgis.version}</version>
<type>zip</type>
<overWrite>true</overWrite>
<outputDirectory>${user.home}/.arcgis/${arcgis.version}</outputDirectory>
</artifactItem>
<artifactItem>
<groupId>com.esri.arcgisruntime</groupId>
<artifactId>arcgis-java-resources</artifactId>
<version>${arcgis.version}</version>
<type>zip</type>
<overWrite>true</overWrite>
<outputDirectory>${user.home}/.arcgis/${arcgis.version}</outputDirectory>
</artifactItem>
</artifactItems>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
<configuration>
<release>11</release>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.6.0</version>
<executions>
<execution>
<goals>
<goal>java</goal>
</goals>
</execution>
</executions>
<configuration>
<mainClass>com.example.app.App</mainClass>
</configuration>
</plugin>
<plugin>
<groupId>io.takari</groupId>
<artifactId>maven</artifactId>
<version>0.7.4</version>
</plugin>
</plugins>
</build>
</project>
如果您完成上述pom.xml配置后,还是有部分jar包无法正常下载。那就请参照下列配置修改下Maven的seting.xml。主要要注意mirrorOf不能是 “ * ” 。
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<pluginGroups></pluginGroups>
<proxies></proxies>
<servers></servers>
<localRepository>G:\Repository</localRepository>
<mirrors>
<mirror>
<id>aliyun-public</id>
<mirrorOf>central</mirrorOf>
<name>aliyun public</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
</mirrors>
<profiles></profiles>
</settings>
2 释放资源
如下图所示,在项目根目录运行mvn dependency:unpack
以释放ArcGIS Runtime API for Java的资源到您的用户目录。
完成此步骤可以解决如下报错,也就是找不到运行环境的报错。
Caused by: java.lang.RuntimeException: Could not find runtime in any of:
- A directory specified by calling ArcGISRuntimeEnvironment.setInstallDirectory()
- The current directory F:\Code\Intimate\other\gis-demo
- A location specified by the environment variable ARCGISRUNTIMESDKJAVA_100_10_0
- Within the “.arcgis” directory in the user’s home path C:\Users\admin.arcgis
离线构建
如果示例的pom文件中的仓库的链接无法访问,您就需要下载相关资源离线构建。
资源下载链接为:
下载后是一个zip压缩文件,解压后会得到arcgis-java-100.12.0.jar,arcgis-java-jnilibs-100.12.0.zip,arcgis-java-resources-100.12.0.zip三个文件。
上述资源就是maven从公开在线仓库中下载到本地后,我从本地仓库复制出来并打包的。整个过程未曾接收到任何关于收费的提示,但我也未查询到 ArcGIS Runtime API for Java 的供应商Esri 有表明这款软件是可以免费使用的开源软件。因此如需在实际项目开发中使用ArcGIS Runtime API for Java,请先向Esri公司咨询授权的相关事宜,避免不必要的纠纷和损失。现在也有国产替代产品GeoScne Runtime SDK for Java,可以联系易智瑞公司获得相关资源和授权。如果您希望使用开源软件完成类似功能,建议查询一下geotools。
1 部署jar包
您需要在arcgis-java-100.12.0.jar所在的路径下运行以下命令,将jar文件部署到本地maven仓库中。
mvn install:install-file -Dfile=arcgis-java-100.12.0.jar -DgroupId=com.esri.arcgisruntime -DartifactId=arcgis-java -Dversion=100.12.0 -Dpackaging=jar
2 导入jar包
在pom.xml中加入如下依赖。
<dependency>
<groupId>com.esri.arcgisruntime</groupId>
<artifactId>arcgis-java</artifactId>
<version>${arcgis.version}</version>
</dependency>
3 释放资源
您可以将arcgis-java-jnilibs-100.12.0.zip,arcgis-java-resources-100.12.0.zip 两个压缩包直接解压在项目根路径。项目结构如下图所示:
如果您不想放在项目中,也可以在用户文件夹下创建.arcgis\100.12.0文件夹,然后将压缩文件夹解压到此。
运行测试
无论是采用在线构建还是离线构建,都能测试出一样的结果。测试结果未发现异常。
本文的示例代码下载链接: