I could run the Quickstart application <https://docs.geotools.org/latest/userguide/tutorial/quickstart/maven.html> without using Maven. My purpose was to get an understanding of what was going on.
Maven's dependency tree shows 97 modules for this application. However, with only 22 ones out of these 97 modules, the application could be run perfectly without any issue. So 75 modules seemed to be not-required. Among them, there were 37 modules from *it.geosolutions*, 12 modules from *org.geotools*, 7 modules from *com.google*, and many other unnecessary modules. It would be appreciated if you clarify this for me. On Tue, Feb 27, 2024 at 5:50 PM Ian Turton <ijtur...@gmail.com> wrote: > If you use maven it walks the dependency tree and finds all the jars it > needs. > > Ian > > On Tue, 27 Feb 2024, 14:10 Amirhossein Nikfal, <ah.nik...@gmail.com> > wrote: > >> Yes, the problem was due to the missing of apache.commons.lang3. Thank >> you very much. >> >> But how could I know about this dependency before the compilation? >> Neither in the pom file, nor in the contents of the jar file >> (gt-swing-31-SNAPSHOT.jar), there was no name regarding >> apache.commons.lang3. Also "*mvn dependency:tree >> -Dincludes=org.geotools:gt-swing:**" could not be helpful. >> >> Best, >> Amir >> >> On Fri, Feb 23, 2024 at 4:37 PM Ian Turton <ijtur...@gmail.com> wrote: >> >>> 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