it looks like you haven't added (at least) the apache.commons.lang3 jar.
This is what maven excels at so you should probably let it do it's magic
rather than trying to muddle along with out it.

Ian

On Fri, 23 Feb 2024 at 14:49, Amirhossein Nikfal <ah.nik...@gmail.com>
wrote:

> 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
>


-- 
Ian Turton
_______________________________________________
GeoTools-Devel mailing list
GeoTools-Devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geotools-devel

Reply via email to