The short code below can be compiled and run successfully, but *after
loading the shapefile*, shows error in line: FileDataStore store =
FileDataStoreFinder.getDataStore(file);

This is the way I compile and run it:
java -d . Quickstart.java
java org.geotools.tutorial.quickstart.Quickstart

Code:
package org.geotools.tutorial.quickstart;

import java.io.File;
import org.geotools.api.data.FileDataStore;
import org.geotools.api.data.FileDataStoreFinder;
import org.geotools.swing.data.JFileDataStoreChooser;

public class Quickstart {
public static void main(String[] args) throws Exception {
File file = JFileDataStoreChooser.showOpenFile("shp", null);
if (file == null) {
return;
}
FileDataStore store = FileDataStoreFinder.getDataStore(file);
}
}

The errors:














*Feb 23, 2024 3:31:29 PM org.geotools.api.data.FileDataStoreFinder
getDataStoreWARNING: Could not aquire ESRI(tm) Shapefiles
(*.shp):java.lang.NoClassDefFoundError:
org/apache/commons/lang3/SystemUtilsjava.lang.NoClassDefFoundError:
org/apache/commons/lang3/SystemUtils        at
org.geotools.data.shapefile.files.ShpFiles.init(ShpFiles.java:189)
at org.geotools.data.shapefile.files.ShpFiles.<init>(ShpFiles.java:147)
    at
org.geotools.data.shapefile.ShapefileDataStoreFactory.createDataStore(ShapefileDataStoreFactory.java:260)
      at
org.geotools.data.shapefile.ShapefileDataStoreFactory.createDataStore(ShapefileDataStoreFactory.java:417)
      at
org.geotools.api.data.FileDataStoreFinder.getDataStore(FileDataStoreFinder.java:78)
      at
org.geotools.api.data.FileDataStoreFinder.getDataStore(FileDataStoreFinder.java:55)
      at Quickstart.main(Quickstart.java:31)Caused by:
java.lang.ClassNotFoundException: org.apache.commons.lang3.SystemUtils
  at
java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
      at
java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
      at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
    ... 7 more*

However, it can load the shapefile without problem when it's run by maven:
mvn exec:java -Dexec.mainClass=org.geotools.tutorial.quickstart.Quickstart


Any comment would be appreciated.
_______________________________________________
GeoTools-Devel mailing list
GeoTools-Devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geotools-devel

Reply via email to