import org.opengis.feature.*;
import org.geotools.feature.*;
import org.geotools.data.*;
import java.io.*;
import java.util.*;
public class GeoOpen
{
public static void main(String[] args) {
File file = new File("states.shp");
try {
Map<String, String> connect = new HashMap();
connect.put("url", file.toURI().toString());
DataStore dataStore = DataStoreFinder.getDataStore(connect);
String[] typeNames = dataStore.getTypeNames();
String typeName = typeNames[0];
System.out.println("Reading content " + typeName);
FeatureSource featureSource = dataStore.getFeatureSource(typeName);
FeatureCollection collection = featureSource.getFeatures();
FeatureIterator iterator = collection.features();
try {
while (iterator.hasNext()) {
Feature feature = iterator.next();
GeometryAttribute sourceGeometry = feature.getDefaultGeometryProperty();
}
} finally {
iterator.close();
}
} catch (Throwable e) {
e.printStackTrace();}}
}
Я пытался прочитать файл формы в этом коде.Но при выполнении вышеуказанного файла получаю java.lang.IncompatibleClassChangeError.Я видел сообщения, получающие подобные ошибки, которые были решены с помощью последних фляг.Даже при использовании последних jar-ов я получаю эту ошибку.
java.lang.IncompatibleClassChangeError: Implementing class
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
at java.net.URLClassLoader$1.run(URLClassLoader.java:368)
at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at org.geotools.data.shapefile.ShpFiles.exists(ShpFiles.java:981)
at org.geotools.data.shapefile.ShpFiles.init(ShpFiles.java:172)
at org.geotools.data.shapefile.ShpFiles.<init>(ShpFiles.java:129)
at org.geotools.data.shapefile.ShapefileDataStoreFactory.createDataStore(ShapefileDataStoreFactory.java:195)
at org.geotools.data.shapefile.ShapefileDataStoreFactory.createDataStore(ShapefileDataStoreFactory.java:63)
at org.geotools.data.DataAccessFinder.getDataStore(DataAccessFinder.java:129)
at org.geotools.data.DataStoreFinder.getDataStore(DataStoreFinder.java:87)
at GeoOpen.main(GeoOpen.java:16)
Заранее спасибо.