Hi Frank - your reply dropped off the list so I'm just forwarding it (please see below for Frank's solution everyone).
Michael On 2 December 2013 09:19, Frank van der Hulst <drifter.fr...@gmail.com> wrote: > OK folks, I have an answer for anyone else stuck in this rut :) > > The problem is nothing to do with GeoTools or its libraries... as indicated > by Michael, it is to do with JavaFX and the JavaFX packager and Maven. There > is no need to go through the process of creating a gt-uber archive > > The page I found most useful was > http://java.dzone.com/articles/create-javafx-executables > > I used the first technique on that page (which he deprecates) and added the > JavaFX runtime to my Maven repository by changing to the location of > jfxrt.jar and executing > > mvn install:install-file -Dfile=jfxrt.jar -DgroupId=com.oracle > -DartifactId=javafx-runtime -Dpackaging=jar -Dversion=2.2.45 > > I did also try his new improved technique (reference the jfxrt.jar using the > system scope and the ${java.home} property), but when I couldn't get that to > work immediately, I decided to stick with what does work. > > Here's my POM, which works > > > <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/xsd/maven-4.0.0.xsd"> > <modelVersion>4.0.0</modelVersion> > > <groupId>frankv</groupId> > <artifactId>Mapping</artifactId> > > <version>1.0-SNAPSHOT</version> > <packaging>jar</packaging> > > <name>Mapping</name> > <url>http://maven.apache.org</url> > > <build> > <plugins> > <plugin> > <groupId>org.apache.maven.plugins</groupId> > <artifactId>maven-compiler-plugin</artifactId> > <version>2.3.2</version> > > <configuration> > <source>1.7</source> > <target>1.7</target> > </configuration> > </plugin> > </plugins> > </build> > <properties> > <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> > <geotools.version>10.2</geotools.version> > </properties> > > <dependencies> > <dependency> > <groupId>junit</groupId> > <artifactId>junit</artifactId> > <version>3.8.1</version> > <scope>test</scope> > </dependency> > <dependency> > <groupId>com.oracle</groupId> > <artifactId>javafx-runtime</artifactId> > <version>2.2.45</version> > </dependency> > <dependency> > <groupId>mysql</groupId> > <artifactId>mysql-connector-java</artifactId> > <version>5.1.27</version> > > </dependency> > <dependency> > <groupId>org.geotools</groupId> > <artifactId>gt-api</artifactId> > <version>${geotools.version}</version> > </dependency> > <dependency> > <groupId>org.geotools</groupId> > <artifactId>gt-epsg-hsql</artifactId> > <version>${geotools.version}</version> > </dependency> > <dependency> > <groupId>org.geotools</groupId> > <artifactId>gt-main</artifactId> > <version>${geotools.version}</version> > </dependency> > <dependency> > <groupId>org.geotools</groupId> > <artifactId>gt-render</artifactId> > <version>${geotools.version}</version> > </dependency> > <dependency> > <groupId>org.geotools</groupId> > <artifactId>gt-swing</artifactId> > <version>${geotools.version}</version> > </dependency> > <dependency> > <groupId>org.geotools</groupId> > <artifactId>gt-shapefile</artifactId> > <version>${geotools.version}</version> > </dependency> > </dependencies> > <repositories> > <repository> > <id>osgeo</id> > <name>Open Source Geospatial Foundation Repository</name> > <url>http://download.osgeo.org/webdav/geotools/</url> > </repository> > </repositories> > </project> > > > All the gt- artifacts and the mysql-connector driver won't be needed for > everyone's apps... pick and choose what you actually use. Lack of the > gt-epsg-hsql does NOT cause a compile-time error for me, but DOES cause a > runtime error. > > > Hope this helps someone > > Frank > > > > On Fri, Nov 29, 2013 at 10:06 PM, Michael Bedward > <michael.bedw...@gmail.com> wrote: >> >> Does this help at all ? >> >> http://www.adam-bien.com/roller/abien/entry/how_to_compile_java_fx >> >> Michael >> >> On 29 November 2013 08:50, Frank van der Hulst <drifter.fr...@gmail.com> >> wrote: >> > Hi Michael, >> > Yes, it's all learning by doing kind of stuff. I'm OK with that... just >> > hoping that someone has stumbled around in this piece of dark before :) >> > >> > There was never any problem with building GeoTools projects, which is >> > confirmed by your experiment with the Quickstart project. The problem is >> > building a GeoTools project which uses JavaFX2 for the GUI. >> > >> > If I could somehow include jfxrt.jar as a dependency in the POM file, I >> > think I'd be just about there. >> > >> > Frank >> > >> > >> > >> > >> > On Thu, Nov 28, 2013 at 5:13 PM, Michael Bedward >> > <michael.bedw...@gmail.com> >> > wrote: >> >> >> >> Hi Frank, >> >> >> >> Well I did say it was a stab in the dark :) >> >> >> >> As an experiment, I just tried taking the "includes" section out of >> >> the pom.xml in the gist and rebuilt the jar. That stuffs the GeoTools >> >> modules plus all of the third-party dependencies in there. Then I >> >> modified the pom of the GeoTools Quickstart project to reference >> >> gt-uber instead of individual gt jars. Finally I built and ran the >> >> app from within Netbeans 7.2. It ran without error. >> >> >> >> There is probably also a way of including the direct-dependency >> >> GeoTools jars and creating a new pom for the uber jar which lists all >> >> of the transitive dependencies, but I don't know what it is. >> >> >> >> Sorry I couldn't help more. Good luck with it and please the list know >> >> if you find a solution. >> >> >> >> Michael >> >> >> >> >> >> On 28 November 2013 14:14, Frank van der Hulst >> >> <drifter.fr...@gmail.com> >> >> wrote: >> >> > Thanks Michael, but still no joy :( >> >> > >> >> > It seems to be building gt-uber OK... but a couple of suspicious >> >> > things >> >> > >> >> > 1. The project has a warning on it: "Project's main artifact is >> >> > processed >> >> > through maven-shade-plugin". Well, I knew that. It goes on to say >> >> > "When >> >> > the >> >> > final artifact jar contains classes not originating >> >> > in current project, NetBeans internal compiler cannot use the sources >> >> > of >> >> > the >> >> > project for compilation. Then changes done in project's source code >> >> > only >> >> > appears in depending projects when project is recompiled. Also >> >> > applies >> >> > to >> >> > features like Refactoring which will not be able to find usages in >> >> > depending >> >> > projects.". >> >> > >> >> > 2. The output from building gt-uber says "JAR will be empty - no >> >> > content >> >> > was >> >> > marked for inclusion!" >> >> > >> >> > Despite these warnings, it appears to work OK... my gt-uber-10.2.jar >> >> > file is >> >> > 13.3MB. >> >> > >> >> > Again, I tried various things with the POM you shared... >> >> > I included com.vivid*, since I was referencing some of their classes, >> >> > and >> >> > then later included * >> >> > I also tried adding all the gt-* artifacts as dependencies, and I >> >> > added >> >> > the >> >> > osgeo repository >> >> > I added the project.build.sourceEncoding property as UTF8 because >> >> > there >> >> > were some warnings about encoding conversions. >> >> > >> >> > I did notice that the Mapping build output includes this, which >> >> > suggests >> >> > to >> >> > me that its unpacking gt-uber, so I may still in the same boat as >> >> > before.:( >> >> > >> >> > --- maven-dependency-plugin:2.6:unpack-dependencies >> >> > (unpack-dependencies) @ >> >> > Mapping2 --- >> >> > Unpacking >> >> > >> >> > >> >> > C:\Users\frankv\.m2\repository\org\geotools\gt-uber\10.2\gt-uber-10.2.jar >> >> > to >> >> > C:\Users\frankv\Documents\NetBeansProjects\Mapping2\target\classes >> >> > with >> >> > includes "" and excludes "" >> >> > >> >> > With all of that, and the "Combined GeoTools jar" project added as a >> >> > dependency of my Mapping project, the Mapping project builds without >> >> > errors >> >> > and runs, up to the point where it tries to use a Factory. >> >> > >> >> > If the first Factory I reference is a CRSAuthorityFactory, e.g. >> >> > >> >> > CoordinateReferenceSystem internalCRS = >> >> > >> >> > >> >> > CRS.getAuthorityFactory(true).createCoordinateReferenceSystem("EPSG:2193"); >> >> > // NZGD2000 NZTM >> >> > >> >> > it crashes with >> >> > >> >> > Nov 28, 2013 4:01:11 PM org.geotools.factory.FactoryRegistry >> >> > scanForPlugins >> >> > WARNING: Can't load a service for category "CRSAuthorityFactory". >> >> > Cause >> >> > is >> >> > "ServiceConfigurationError: >> >> > org.opengis.referencing.crs.CRSAuthorityFactory: >> >> > Provider >> >> > org.geotools.referencing.factory.epsg.ThreadedHsqlEpsgFactory >> >> > not a >> >> > subtype". >> >> > java.util.ServiceConfigurationError: >> >> > org.opengis.referencing.crs.CRSAuthorityFactory: Provider >> >> > org.geotools.referencing.factory.epsg.ThreadedHsqlEpsgFactory not a >> >> > subtype >> >> > >> >> > at java.util.ServiceLoader.fail(ServiceLoader.java:231) >> >> > at java.util.ServiceLoader.access$300(ServiceLoader.java:181) >> >> > at >> >> > java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:369) >> >> > at java.util.ServiceLoader$1.next(ServiceLoader.java:445) >> >> > at >> >> > >> >> > org.geotools.factory.FactoryRegistry.register(FactoryRegistry.java:826) >> >> > at >> >> > >> >> > >> >> > org.geotools.factory.FactoryRegistry.scanForPlugins(FactoryRegistry.java:772) >> >> > at >> >> > >> >> > >> >> > org.geotools.factory.FactoryRegistry.scanForPluginsIfNeeded(FactoryRegistry.java:805) >> >> > at >> >> > >> >> > >> >> > org.geotools.factory.FactoryRegistry.getServiceProviders(FactoryRegistry.java:196) >> >> > at >> >> > >> >> > >> >> > org.geotools.referencing.ReferencingFactoryFinder.getFactories(ReferencingFactoryFinder.java:180) >> >> > at >> >> > >> >> > >> >> > org.geotools.referencing.ReferencingFactoryFinder.getCRSAuthorityFactories(ReferencingFactoryFinder.java:455) >> >> > at >> >> > >> >> > >> >> > org.geotools.referencing.DefaultAuthorityFactory.getBackingFactory(DefaultAuthorityFactory.java:88) >> >> > at >> >> > >> >> > >> >> > org.geotools.referencing.DefaultAuthorityFactory.<init>(DefaultAuthorityFactory.java:69) >> >> > at org.geotools.referencing.CRS.getAuthorityFactory(CRS.java:257) >> >> > at >> >> > >> >> > >> >> > frankv.mapping2.FXMLController.handleButtonAction(FXMLController.java:33) >> >> > >> >> > If the first Factory is a FilterFactory e.g. >> >> > >> >> > FileDataStore store = new ShapefileDataStore(new >> >> > >> >> > >> >> > URL("file:/C:/Users/frankv/Documents/Mapping/Output/XCSoar/Airstrip.shp")); >> >> > >> >> > >> >> > it crashes with >> >> > >> >> > Nov 28, 2013 4:05:20 PM org.geotools.factory.FactoryRegistry >> >> > scanForPlugins >> >> > >> >> > WARNING: Can't load a service for category "FilterFactory". Cause is >> >> > "ServiceConfigurationError: org.opengis.filter.FilterFactory: >> >> > Provider >> >> > org.geotools.filter.FilterFactoryImpl not a subtype". >> >> > java.util.ServiceConfigurationError: >> >> > org.opengis.filter.FilterFactory: >> >> > Provider org.geotools.filter.FilterFactoryImpl not a subtype >> >> > at java.util.ServiceLoader.fail(ServiceLoader.java:231) >> >> > at java.util.ServiceLoader.access$300(ServiceLoader.java:181) >> >> > at >> >> > java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:369) >> >> > at java.util.ServiceLoader$1.next(ServiceLoader.java:445) >> >> > at >> >> > >> >> > org.geotools.factory.FactoryRegistry.register(FactoryRegistry.java:826) >> >> > at >> >> > >> >> > >> >> > org.geotools.factory.FactoryRegistry.scanForPlugins(FactoryRegistry.java:772) >> >> > at >> >> > >> >> > >> >> > org.geotools.factory.FactoryRegistry.scanForPluginsIfNeeded(FactoryRegistry.java:805) >> >> > at >> >> > >> >> > >> >> > org.geotools.factory.FactoryRegistry.getUnfilteredProviders(FactoryRegistry.java:230) >> >> > at >> >> > >> >> > >> >> > org.geotools.factory.FactoryRegistry.getServiceImplementation(FactoryRegistry.java:430) >> >> > at >> >> > >> >> > >> >> > org.geotools.factory.FactoryRegistry.getServiceProvider(FactoryRegistry.java:365) >> >> > at >> >> > >> >> > >> >> > org.geotools.factory.FactoryCreator.getServiceProvider(FactoryCreator.java:145) >> >> > at >> >> > >> >> > >> >> > org.geotools.factory.CommonFactoryFinder.lookup(CommonFactoryFinder.java:346) >> >> > at >> >> > >> >> > >> >> > org.geotools.factory.CommonFactoryFinder.getFilterFactory(CommonFactoryFinder.java:300) >> >> > at >> >> > >> >> > >> >> > org.geotools.factory.CommonFactoryFinder.getFilterFactory2(CommonFactoryFinder.java:390) >> >> > at >> >> > >> >> > >> >> > org.geotools.factory.CommonFactoryFinder.getFilterFactory2(CommonFactoryFinder.java:404) >> >> > at >> >> > org.geotools.data.DataUtilities.<clinit>(DataUtilities.java:200) >> >> > at >> >> > org.geotools.data.shapefile.files.ShpFiles.exists(ShpFiles.java:975) >> >> > at >> >> > org.geotools.data.shapefile.files.ShpFiles.init(ShpFiles.java:182) >> >> > at >> >> > org.geotools.data.shapefile.files.ShpFiles.<init>(ShpFiles.java:139) >> >> > at >> >> > >> >> > >> >> > org.geotools.data.shapefile.ShapefileDataStore.<init>(ShapefileDataStore.java:119) >> >> > at >> >> > >> >> > >> >> > frankv.mapping2.FXMLController.handleButtonAction(FXMLController.java:27) >> >> > >> >> > Frank >> >> > >> >> > >> >> > On Wed, Nov 27, 2013 at 2:40 PM, Michael Bedward >> >> > <michael.bedw...@gmail.com> >> >> > wrote: >> >> >> >> >> >> Hi Frank, >> >> >> >> >> >> Your last reply fell off the list... >> >> >> >> >> >> Here's an example pom.xml to create a GeoTools uber jar using the >> >> >> shade plugin... >> >> >> >> >> >> https://gist.github.com/mbedward/7669318 >> >> >> >> >> >> To use it, just stick it in a new directory somewhere, edit it to >> >> >> add >> >> >> the GeoTools dependencies you need, and run "mvn install" from the >> >> >> command line. You can also build it from within Netbeans if you >> >> >> like. >> >> >> >> >> >> You should end up with gt-uber-10.2.jar in the target sub-dir and >> >> >> your >> >> >> local maven repo. You can then reference gt-uber from your >> >> >> application pom.xml. >> >> >> >> >> >> No idea if this will fix your JavaFXPackager problem but it's worth >> >> >> a >> >> >> try >> >> >> :) >> >> >> >> >> >> Michael >> >> >> >> >> >> >> >> >> On 27 November 2013 10:16, Frank van der Hulst >> >> >> <drifter.fr...@gmail.com> >> >> >> wrote: >> >> >> > Thanks Michael, >> >> >> > Yes, I did run my earlier setup via maven exec. >> >> >> > >> >> >> > I know even less than you about Java packages in general and >> >> >> > JavaFXPackager >> >> >> > in particular ;) Nor about Maven projects :( >> >> >> > >> >> >> > I've had a couple of attempts at producing the gt-uber that you >> >> >> > suggest. >> >> >> > >> >> >> > First problem is that NetBeans doesn't give me an option to >> >> >> > produce a >> >> >> > jar >> >> >> > from a Maven project, although it does have a Maven/POM Project >> >> >> > option >> >> >> > which >> >> >> > is described as " A Maven pom-packaging project, usable as a >> >> >> > parent >> >> >> > and/or >> >> >> > aggregator for other modules." That sounded promising, so I built >> >> >> > a >> >> >> > pom >> >> >> > for >> >> >> > this using dependencies and repositories and some of the plugins >> >> >> > from >> >> >> > the >> >> >> > original pom. That seemed to go well, except that it doesn't >> >> >> > produce >> >> >> > a >> >> >> > jar >> >> >> > :( >> >> >> > >> >> >> > OK, build a Java/Java Class Library project which depends on the >> >> >> > target >> >> >> > directory of the Maven/POM Project. That produces a geotools.jar >> >> >> > :) >> >> >> > But >> >> >> > it >> >> >> > is a MANIFEST-only jar, which suggests that it hasn't done what I >> >> >> > want >> >> >> > :( >> >> >> > >> >> >> > Can someone point me at how to build gt-uber? >> >> >> > >> >> >> > Frank >> >> >> > >> >> >> > >> >> >> > On Tue, Nov 26, 2013 at 1:22 PM, Michael Bedward >> >> >> > <michael.bedw...@gmail.com> >> >> >> > wrote: >> >> >> >> >> >> >> >> Hi Frank, >> >> >> >> >> >> >> >> Yep, I don't think adding the shade plugin here will make any >> >> >> >> difference because you are already using the exec plugin to call >> >> >> >> JavaFXPackager. A quick look at the docs >> >> >> >> (http://docs.oracle.com/javafx/2/deployment/packager.htm) >> >> >> >> suggests >> >> >> >> that it is creating a single output jar for you. If that's the >> >> >> >> case, >> >> >> >> then I think the SPI merging problem that I suggested earlier >> >> >> >> does >> >> >> >> indeed apply. >> >> >> >> >> >> >> >> In your earlier "kludge" setup, did you run your app via maven >> >> >> >> exec >> >> >> >> rather than assembling a single jar ? >> >> >> >> >> >> >> >> With the caveat that I no nothing about JavaFX or JavaFXPackager, >> >> >> >> one >> >> >> >> suggestion would be to pre-combine all of your GeoTools >> >> >> >> dependencies >> >> >> >> into a single dep jar (e.g. gt-uber) using the shade plugin, and >> >> >> >> then >> >> >> >> reference that from your build instead of the individual gt >> >> >> >> modules. >> >> >> >> >> >> >> >> But hopefully someone else here or in JavaFX forums will have a >> >> >> >> better >> >> >> >> suggestion. >> >> >> >> >> >> >> >> Michael >> >> >> >> >> >> >> >> >> >> >> >> On 26 November 2013 10:52, Frank van der Hulst >> >> >> >> <drifter.fr...@gmail.com> >> >> >> >> wrote: >> >> >> >> > Thanks for the reply Michael. >> >> >> >> > >> >> >> >> > Below is my complete pom.xml... this is pretty much the >> >> >> >> > standard >> >> >> >> > Maven/JavaFX pom.xml generated by NetBeans, plus the >> >> >> >> > dependencies >> >> >> >> > and >> >> >> >> > repositories for Geotools. >> >> >> >> > >> >> >> >> > <?xml version="1.0" encoding="UTF-8"?> >> >> >> >> > <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/xsd/maven-4.0.0.xsd"> >> >> >> >> > <modelVersion>4.0.0</modelVersion> >> >> >> >> > >> >> >> >> > <groupId>com.mycompany</groupId> >> >> >> >> > <artifactId>mavenproject2</artifactId> >> >> >> >> > <version>1.0-SNAPSHOT</version> >> >> >> >> > <packaging>jar</packaging> >> >> >> >> > >> >> >> >> > <name>mavenproject2</name> >> >> >> >> > >> >> >> >> > <properties> >> >> >> >> > >> >> >> >> > >> >> >> >> > <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> >> >> >> >> > >> >> >> >> > <mainClass>com.mycompany.mavenproject2.MainApp</mainClass> >> >> >> >> > <slf4j.version>1.6.1</slf4j.version> >> >> >> >> > <geotools.version>9.2</geotools.version> >> >> >> >> > </properties> >> >> >> >> > >> >> >> >> > <organization> >> >> >> >> > <!-- Used as the 'Vendor' for JNLP generation --> >> >> >> >> > <name>Your Organisation</name> >> >> >> >> > </organization> >> >> >> >> > >> >> >> >> > <build> >> >> >> >> > <plugins> >> >> >> >> > <plugin> >> >> >> >> > <groupId>org.apache.maven.plugins</groupId> >> >> >> >> > >> >> >> >> > <artifactId>maven-dependency-plugin</artifactId> >> >> >> >> > <version>2.6</version> >> >> >> >> > <executions> >> >> >> >> > <execution> >> >> >> >> > <id>unpack-dependencies</id> >> >> >> >> > <phase>package</phase> >> >> >> >> > <goals> >> >> >> >> > <goal>unpack-dependencies</goal> >> >> >> >> > </goals> >> >> >> >> > <configuration> >> >> >> >> > <excludeScope>system</excludeScope> >> >> >> >> > >> >> >> >> > >> >> >> >> > <excludeGroupIds>junit,org.mockito,org.hamcrest</excludeGroupIds> >> >> >> >> > >> >> >> >> > >> >> >> >> > >> >> >> >> > <outputDirectory>${project.build.directory}/classes</outputDirectory> >> >> >> >> > </configuration> >> >> >> >> > </execution> >> >> >> >> > </executions> >> >> >> >> > </plugin> >> >> >> >> > <plugin> >> >> >> >> > <groupId>org.codehaus.mojo</groupId> >> >> >> >> > <artifactId>exec-maven-plugin</artifactId> >> >> >> >> > <version>1.2.1</version> >> >> >> >> > <executions> >> >> >> >> > <execution> >> >> >> >> > <id>unpack-dependencies</id> >> >> >> >> > >> >> >> >> > <phase>package</phase> >> >> >> >> > <goals> >> >> >> >> > <goal>exec</goal> >> >> >> >> > </goals> >> >> >> >> > <configuration> >> >> >> >> > >> >> >> >> > <executable>${java.home}/../bin/javafxpackager</executable> >> >> >> >> > <arguments> >> >> >> >> > <argument>-createjar</argument> >> >> >> >> > <argument>-nocss2bin</argument> >> >> >> >> > <argument>-appclass</argument> >> >> >> >> > >> >> >> >> > <argument>${mainClass}</argument> >> >> >> >> > <argument>-srcdir</argument> >> >> >> >> > >> >> >> >> > <argument>${project.build.directory}/classes</argument> >> >> >> >> > <argument>-outdir</argument> >> >> >> >> > >> >> >> >> > <argument>${project.build.directory}</argument> >> >> >> >> > <argument>-outfile</argument> >> >> >> >> > >> >> >> >> > <argument>${project.build.finalName}.jar</argument> >> >> >> >> > </arguments> >> >> >> >> > </configuration> >> >> >> >> > </execution> >> >> >> >> > </executions> >> >> >> >> > </plugin> >> >> >> >> > <plugin> >> >> >> >> > <groupId>org.apache.maven.plugins</groupId> >> >> >> >> > <artifactId>maven-compiler-plugin</artifactId> >> >> >> >> > <version>3.1</version> >> >> >> >> > <configuration> >> >> >> >> > <source>1.7</source> >> >> >> >> > <target>1.7</target> >> >> >> >> > <compilerArguments> >> >> >> >> > >> >> >> >> > >> >> >> >> > >> >> >> >> > >> >> >> >> > >> >> >> >> > <bootclasspath>${sun.boot.class.path}${path.separator}${java.home}/lib/jfxrt.jar</bootclasspath> >> >> >> >> > </compilerArguments> >> >> >> >> > </configuration> >> >> >> >> > </plugin> >> >> >> >> > </plugins> >> >> >> >> > </build> >> >> >> >> > <dependencies> >> >> >> >> > <!-- Apache Commons --> >> >> >> >> > >> >> >> >> > <dependency> >> >> >> >> > <groupId>commons-lang</groupId> >> >> >> >> > <artifactId>commons-lang</artifactId> >> >> >> >> > <version>2.6</version> >> >> >> >> > </dependency> >> >> >> >> > >> >> >> >> > <dependency> >> >> >> >> > <groupId>org.geotools</groupId> >> >> >> >> > <artifactId>gt-api</artifactId> >> >> >> >> > <version>${geotools.version}</version> >> >> >> >> > </dependency> >> >> >> >> > <dependency> >> >> >> >> > <groupId>org.geotools</groupId> >> >> >> >> > <artifactId>gt-coverage</artifactId> >> >> >> >> > <version>${geotools.version}</version> >> >> >> >> > </dependency> >> >> >> >> > <dependency> >> >> >> >> > <groupId>org.geotools</groupId> >> >> >> >> > <artifactId>gt-cql</artifactId> >> >> >> >> > <version>${geotools.version}</version> >> >> >> >> > </dependency> >> >> >> >> > <dependency> >> >> >> >> > <groupId>org.geotools</groupId> >> >> >> >> > <artifactId>gt-data</artifactId> >> >> >> >> > <version>${geotools.version}</version> >> >> >> >> > </dependency> >> >> >> >> > <dependency> >> >> >> >> > <groupId>org.geotools</groupId> >> >> >> >> > <artifactId>gt-epsg-extension</artifactId> >> >> >> >> > <version>${geotools.version}</version> >> >> >> >> > </dependency> >> >> >> >> > <dependency> >> >> >> >> > <groupId>org.geotools</groupId> >> >> >> >> > <artifactId>gt-epsg-hsql</artifactId> >> >> >> >> > <version>${geotools.version}</version> >> >> >> >> > </dependency> >> >> >> >> > <dependency> >> >> >> >> > <groupId>org.geotools</groupId> >> >> >> >> > <artifactId>gt-jdbc</artifactId> >> >> >> >> > <version>${geotools.version}</version> >> >> >> >> > </dependency> >> >> >> >> > <dependency> >> >> >> >> > <groupId>org.geotools</groupId> >> >> >> >> > <artifactId>gt-main</artifactId> >> >> >> >> > <version>${geotools.version}</version> >> >> >> >> > </dependency> >> >> >> >> > <dependency> >> >> >> >> > <groupId>org.geotools</groupId> >> >> >> >> > <artifactId>gt-metadata</artifactId> >> >> >> >> > <version>${geotools.version}</version> >> >> >> >> > </dependency> >> >> >> >> > <dependency> >> >> >> >> > <groupId>org.geotools</groupId> >> >> >> >> > <artifactId>gt-opengis</artifactId> >> >> >> >> > <version>${geotools.version}</version> >> >> >> >> > </dependency> >> >> >> >> > <dependency> >> >> >> >> > <groupId>org.geotools</groupId> >> >> >> >> > <artifactId>gt-render</artifactId> >> >> >> >> > <version>${geotools.version}</version> >> >> >> >> > </dependency> >> >> >> >> > <dependency> >> >> >> >> > <groupId>org.geotools</groupId> >> >> >> >> > <artifactId>gt-referencing</artifactId> >> >> >> >> > <version>${geotools.version}</version> >> >> >> >> > </dependency> >> >> >> >> > <dependency> >> >> >> >> > <groupId>org.geotools</groupId> >> >> >> >> > <artifactId>gt-shapefile</artifactId> >> >> >> >> > <version>${geotools.version}</version> >> >> >> >> > </dependency> >> >> >> >> > <dependency> >> >> >> >> > <groupId>org.geotools</groupId> >> >> >> >> > <artifactId>gt-swing</artifactId> >> >> >> >> > <version>${geotools.version}</version> >> >> >> >> > </dependency> >> >> >> >> > >> >> >> >> > </dependencies> >> >> >> >> > <repositories> >> >> >> >> > <repository> >> >> >> >> > <id>osgeo</id> >> >> >> >> > <name>Open Source Geospatial Foundation >> >> >> >> > Repository</name> >> >> >> >> > >> >> >> >> > <url>http://download.osgeo.org/webdav/geotools/</url> >> >> >> >> > </repository> >> >> >> >> > </repositories> >> >> >> >> > >> >> >> >> > </project> >> >> >> >> > >> >> >> >> > I tried inserting the Maven Shade plugin, as follows, as the >> >> >> >> > first >> >> >> >> > plugin, >> >> >> >> > but it didn't make any difference. >> >> >> >> > >> >> >> >> > <plugin> >> >> >> >> > <groupId>org.apache.maven.plugins</groupId> >> >> >> >> > <artifactId>maven-shade-plugin</artifactId> >> >> >> >> > <version>1.3.1</version> >> >> >> >> > <executions> >> >> >> >> > <execution> >> >> >> >> > <phase>package</phase> >> >> >> >> > <goals> >> >> >> >> > <goal>shade</goal> >> >> >> >> > </goals> >> >> >> >> > <configuration> >> >> >> >> > <transformers> >> >> >> >> > <!-- This bit sets the main class >> >> >> >> > for >> >> >> >> > the >> >> >> >> > executable jar as you otherwise --> >> >> >> >> > <!-- would with the assembly >> >> >> >> > plugin >> >> >> >> > --> >> >> >> >> > <transformer >> >> >> >> > >> >> >> >> > >> >> >> >> > >> >> >> >> > >> >> >> >> > implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> >> >> >> >> > <manifestEntries> >> >> >> >> > >> >> >> >> > <Main-Class>com.mycompany.mavenproject2.MainApp</Main-Class> >> >> >> >> > </manifestEntries> >> >> >> >> > </transformer> >> >> >> >> > <!-- This bit merges the various >> >> >> >> > GeoTools >> >> >> >> > META-INF/services files --> >> >> >> >> > <transformer >> >> >> >> > >> >> >> >> > >> >> >> >> > >> >> >> >> > >> >> >> >> > implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/> >> >> >> >> > </transformers> >> >> >> >> > </configuration> >> >> >> >> > </execution> >> >> >> >> > </executions> >> >> >> >> > </plugin> >> >> >> >> > >> >> >> >> > >> >> >> >> > Frank >> >> >> >> > >> >> >> >> > >> >> >> >> > >> >> >> >> > On Tue, Nov 26, 2013 at 11:50 AM, Michael Bedward >> >> >> >> > <michael.bedw...@gmail.com> wrote: >> >> >> >> >> >> >> >> >> >> Hi Frank, >> >> >> >> >> >> >> >> >> >> This is just a stab in the dark... >> >> >> >> >> >> >> >> >> >> Are you using this plugin: http://zenjava.com/javafx/maven/ ? >> >> >> >> >> And >> >> >> >> >> if >> >> >> >> >> so are you also using it to build an executable jar ? >> >> >> >> >> >> >> >> >> >> The error dump looks like it might be an SPI problem which can >> >> >> >> >> happen >> >> >> >> >> with GeoTools when module jars are combined into a single >> >> >> >> >> uber-jar >> >> >> >> >> without taking care to merge the META-INF/services entries >> >> >> >> >> properly. >> >> >> >> >> >> >> >> >> >> There is more info about this, although not in the context of >> >> >> >> >> JavaFX, >> >> >> >> >> here: >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> http://docs.geotools.org/latest/userguide/faq.html#how-do-i-create-an-executable-jar-for-my-geotools-app >> >> >> >> >> >> >> >> >> >> Michael >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> On 26 November 2013 08:48, Frank van der Hulst >> >> >> >> >> <drifter.fr...@gmail.com> >> >> >> >> >> wrote: >> >> >> >> >> > Hi all, >> >> >> >> >> > I'm new to this list, but have been using Geotools with >> >> >> >> >> > Netbeans >> >> >> >> >> > and >> >> >> >> >> > JavaFX2 >> >> >> >> >> > for some time. >> >> >> >> >> > >> >> >> >> >> > Recently I upgraded to Netbeans v7.4 and JDK 1.7u45 and >> >> >> >> >> > rebuilt >> >> >> >> >> > my >> >> >> >> >> > Mapping >> >> >> >> >> > project to use the newly available Maven/JavaFX Application >> >> >> >> >> > project >> >> >> >> >> > type. >> >> >> >> >> > Previously I had kludged up a link to the JavaFX runtime jar >> >> >> >> >> > in >> >> >> >> >> > an >> >> >> >> >> > ordinary >> >> >> >> >> > Maven/Java Application project. That worked, but didn't >> >> >> >> >> > allow >> >> >> >> >> > use >> >> >> >> >> > of >> >> >> >> >> > the >> >> >> >> >> > JavaFX GUI builder. Now when I run my app, it crashes. :( >> >> >> >> >> > >> >> >> >> >> > This happens on both Windows 7.0 and Ubuntu Linux. >> >> >> >> >> > >> >> >> >> >> > I've tried with various versions of GeoTools from 9.2 >> >> >> >> >> > through >> >> >> >> >> > 10.2, >> >> >> >> >> > without >> >> >> >> >> > any change. >> >> >> >> >> > >> >> >> >> >> > I've tried re-installing Netbeans & Java. No joy. >> >> >> >> >> > >> >> >> >> >> > I've simplified things down as much as possible, to the >> >> >> >> >> > point >> >> >> >> >> > where >> >> >> >> >> > I've >> >> >> >> >> > added one reference to GeoTools in the default >> >> >> >> >> > project:package >> >> >> >> >> > com.mycompany.mavenproject2; >> >> >> >> >> > >> >> >> >> >> > import java.net.MalformedURLException; >> >> >> >> >> > import java.net.URL; >> >> >> >> >> > import java.util.ResourceBundle; >> >> >> >> >> > import javafx.event.ActionEvent; >> >> >> >> >> > import javafx.fxml.FXML; >> >> >> >> >> > import javafx.fxml.Initializable; >> >> >> >> >> > import javafx.scene.control.Label; >> >> >> >> >> > import org.geotools.data.FileDataStore; >> >> >> >> >> > import org.geotools.data.shapefile.ShapefileDataStore; >> >> >> >> >> > >> >> >> >> >> > public class FXMLController implements Initializable { >> >> >> >> >> > >> >> >> >> >> > @FXML >> >> >> >> >> > private Label label; >> >> >> >> >> > >> >> >> >> >> > @FXML >> >> >> >> >> > private void handleButtonAction(ActionEvent event) { >> >> >> >> >> > System.out.println("You clicked me!"); >> >> >> >> >> > try { >> >> >> >> >> > FileDataStore store = new ShapefileDataStore(new >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > URL("file:/C:/Users/frankv/Documents/Mapping/Output/XCSoar/Airstrip.shp")); >> >> >> >> >> > } catch (MalformedURLException ex) { >> >> >> >> >> > throw new RuntimeException(ex); >> >> >> >> >> > } >> >> >> >> >> > label.setText("Hello World!"); >> >> >> >> >> > } >> >> >> >> >> > >> >> >> >> >> > @Override >> >> >> >> >> > public void initialize(URL url, ResourceBundle rb) { >> >> >> >> >> > // TODO >> >> >> >> >> > } >> >> >> >> >> > } >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > When this gets executed in the Maven/JavaFX2 application, I >> >> >> >> >> > get >> >> >> >> >> > this >> >> >> >> >> > output: >> >> >> >> >> > >> >> >> >> >> > Nov 26, 2013 9:56:00 AM org.geotools.factory.FactoryRegistry >> >> >> >> >> > scanForPlugins >> >> >> >> >> > WARNING: Can't load a service for category "FilterFactory". >> >> >> >> >> > Cause >> >> >> >> >> > is >> >> >> >> >> > "ServiceConfigurationError: >> >> >> >> >> > org.opengis.filter.FilterFactory: >> >> >> >> >> > Provider >> >> >> >> >> > org.geotools.filter.FilterFactoryImpl not a subtype". >> >> >> >> >> > java.util.ServiceConfigurationError: >> >> >> >> >> > org.opengis.filter.FilterFactory: >> >> >> >> >> > Provider org.geotools.filter.FilterFactoryImpl not a subtype >> >> >> >> >> > at java.util.ServiceLoader.fail(ServiceLoader.java:231) >> >> >> >> >> > at >> >> >> >> >> > java.util.ServiceLoader.access$300(ServiceLoader.java:181) >> >> >> >> >> > at >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:369) >> >> >> >> >> > at >> >> >> >> >> > java.util.ServiceLoader$1.next(ServiceLoader.java:445) >> >> >> >> >> > at >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > org.geotools.factory.FactoryRegistry.register(FactoryRegistry.java:826) >> >> >> >> >> > at >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > org.geotools.factory.FactoryRegistry.scanForPlugins(FactoryRegistry.java:772) >> >> >> >> >> > at >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > org.geotools.factory.FactoryRegistry.scanForPluginsIfNeeded(FactoryRegistry.java:805) >> >> >> >> >> > at >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > org.geotools.factory.FactoryRegistry.getUnfilteredProviders(FactoryRegistry.java:230) >> >> >> >> >> > at >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > org.geotools.factory.FactoryRegistry.getServiceImplementation(FactoryRegistry.java:430) >> >> >> >> >> > at >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > org.geotools.factory.FactoryRegistry.getServiceProvider(FactoryRegistry.java:365) >> >> >> >> >> > at >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > org.geotools.factory.FactoryCreator.getServiceProvider(FactoryCreator.java:145) >> >> >> >> >> > at >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > org.geotools.factory.CommonFactoryFinder.lookup(CommonFactoryFinder.java:346) >> >> >> >> >> > at >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > org.geotools.factory.CommonFactoryFinder.getFilterFactory(CommonFactoryFinder.java:300) >> >> >> >> >> > at >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > org.geotools.factory.CommonFactoryFinder.getFilterFactory2(CommonFactoryFinder.java:390) >> >> >> >> >> > at >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > org.geotools.factory.CommonFactoryFinder.getFilterFactory2(CommonFactoryFinder.java:404) >> >> >> >> >> > at >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > org.geotools.data.DataUtilities.<clinit>(DataUtilities.java:200) >> >> >> >> >> > at >> >> >> >> >> > >> >> >> >> >> > org.geotools.data.shapefile.ShpFiles.exists(ShpFiles.java:1023) >> >> >> >> >> > at >> >> >> >> >> > org.geotools.data.shapefile.ShpFiles.init(ShpFiles.java:185) >> >> >> >> >> > at >> >> >> >> >> > >> >> >> >> >> > org.geotools.data.shapefile.ShpFiles.<init>(ShpFiles.java:142) >> >> >> >> >> > at >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > org.geotools.data.shapefile.ShapefileDataStore.<init>(ShapefileDataStore.java:200) >> >> >> >> >> > at >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > org.geotools.data.shapefile.ShapefileDataStore.<init>(ShapefileDataStore.java:172) >> >> >> >> >> > at >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > org.geotools.data.shapefile.ShapefileDataStore.<init>(ShapefileDataStore.java:162) >> >> >> >> >> > at >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > com.mycompany.mavenproject2.FXMLController.handleButtonAction(FXMLController.java:22) >> >> >> >> >> > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native >> >> >> >> >> > Method) >> >> >> >> >> > at >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) >> >> >> >> >> > at >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) >> >> >> >> >> > at java.lang.reflect.Method.invoke(Method.java:606) >> >> >> >> >> > at >> >> >> >> >> > sun.reflect.misc.Trampoline.invoke(MethodUtil.java:75) >> >> >> >> >> > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native >> >> >> >> >> > Method) >> >> >> >> >> > at >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) >> >> >> >> >> > at >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) >> >> >> >> >> > at java.lang.reflect.Method.invoke(Method.java:606) >> >> >> >> >> > at >> >> >> >> >> > sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:279) >> >> >> >> >> > at >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > javafx.fxml.FXMLLoader$ControllerMethodEventHandler.handle(FXMLLoader.java:1444) >> >> >> >> >> > at >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:69) >> >> >> >> >> > at >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:217) >> >> >> >> >> > at >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:170) >> >> >> >> >> > at >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:38) >> >> >> >> >> > at >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:37) >> >> >> >> >> > at >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:92) >> >> >> >> >> > at >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:35) >> >> >> >> >> > at >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:92) >> >> >> >> >> > at >> >> >> >> >> > >> >> >> >> >> > com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:53) >> >> >> >> >> > at >> >> >> >> >> > com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:28) >> >> >> >> >> > at javafx.event.Event.fireEvent(Event.java:171) >> >> >> >> >> > at javafx.scene.Node.fireEvent(Node.java:6867) >> >> >> >> >> > at javafx.scene.control.Button.fire(Button.java:179) >> >> >> >> >> > at >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > com.sun.javafx.scene.control.behavior.ButtonBehavior.mouseReleased(ButtonBehavior.java:193) >> >> >> >> >> > at >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > com.sun.javafx.scene.control.skin.SkinBase$4.handle(SkinBase.java:336) >> >> >> >> >> > at >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > com.sun.javafx.scene.control.skin.SkinBase$4.handle(SkinBase.java:329) >> >> >> >> >> > at >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:64) >> >> >> >> >> > at >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:217) >> >> >> >> >> > at >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:170) >> >> >> >> >> > at >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:38) >> >> >> >> >> > at >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:37) >> >> >> >> >> > at >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:92) >> >> >> >> >> > at >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:35) >> >> >> >> >> > at >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:92) >> >> >> >> >> > at >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:35) >> >> >> >> >> > at >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:92) >> >> >> >> >> > at >> >> >> >> >> > >> >> >> >> >> > com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:53) >> >> >> >> >> > at >> >> >> >> >> > com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:33) >> >> >> >> >> > at javafx.event.Event.fireEvent(Event.java:171) >> >> >> >> >> > at >> >> >> >> >> > javafx.scene.Scene$MouseHandler.process(Scene.java:3311) >> >> >> >> >> > at >> >> >> >> >> > javafx.scene.Scene$MouseHandler.process(Scene.java:3151) >> >> >> >> >> > at >> >> >> >> >> > javafx.scene.Scene$MouseHandler.access$1900(Scene.java:3106) >> >> >> >> >> > at >> >> >> >> >> > javafx.scene.Scene.impl_processMouseEvent(Scene.java:1563) >> >> >> >> >> > at >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2248) >> >> >> >> >> > at >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:250) >> >> >> >> >> > at >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:173) >> >> >> >> >> > at java.security.AccessController.doPrivileged(Native >> >> >> >> >> > Method) >> >> >> >> >> > at >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(GlassViewEventHandler.java:292) >> >> >> >> >> > at com.sun.glass.ui.View.handleMouseEvent(View.java:530) >> >> >> >> >> > at com.sun.glass.ui.View.notifyMouse(View.java:924) >> >> >> >> >> > at com.sun.glass.ui.win.WinApplication._runLoop(Native >> >> >> >> >> > Method) >> >> >> >> >> > at >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > com.sun.glass.ui.win.WinApplication.access$100(WinApplication.java:17) >> >> >> >> >> > at >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > com.sun.glass.ui.win.WinApplication$3$1.run(WinApplication.java:67) >> >> >> >> >> > at java.lang.Thread.run(Thread.java:744) >> >> >> >> >> > >> >> >> >> >> > I'm guessing this is some kind of dependency issue, so I >> >> >> >> >> > tried >> >> >> >> >> > starting >> >> >> >> >> > with >> >> >> >> >> > a minimal set of dependencies in my POM, and added all the >> >> >> >> >> > gt- >> >> >> >> >> > dependencies >> >> >> >> >> > one by one. No joy. >> >> >> >> >> > >> >> >> >> >> > I've Googled around and found other people have reported >> >> >> >> >> > problems >> >> >> >> >> > similar to >> >> >> >> >> > this in the past (e.g. >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > https://sourceforge.net/mailarchive/forum.php?thread_name=C20306514FDF4FBFAC54AA8C20A90630%40gmail.com&forum_name=geotools-gt2-users), >> >> >> >> >> > but I can't find a solution. >> >> >> >> >> > >> >> >> >> >> > I don't think I have accidentally combined jars from two >> >> >> >> >> > versions >> >> >> >> >> > of >> >> >> >> >> > GeoTools, and don't think my environment is using class >> >> >> >> >> > loaders >> >> >> >> >> > or >> >> >> >> >> > anything >> >> >> >> >> > unusual, although its possible that in my kludging around >> >> >> >> >> > earlier >> >> >> >> >> > I >> >> >> >> >> > did >> >> >> >> >> > something like that. >> >> >> >> >> > >> >> >> >> >> > Frank >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > ------------------------------------------------------------------------------ >> >> >> >> >> > Shape the Mobile Experience: Free Subscription >> >> >> >> >> > Software experts and developers: Be at the forefront of tech >> >> >> >> >> > innovation. >> >> >> >> >> > Intel(R) Software Adrenaline delivers strategic insight and >> >> >> >> >> > game-changing >> >> >> >> >> > conversations that shape the rapidly evolving mobile >> >> >> >> >> > landscape. >> >> >> >> >> > Sign >> >> >> >> >> > up >> >> >> >> >> > now. >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > http://pubads.g.doubleclick.net/gampad/clk?id=63431311&iu=/4140/ostg.clktrk >> >> >> >> >> > _______________________________________________ >> >> >> >> >> > GeoTools-GT2-Users mailing list >> >> >> >> >> > GeoTools-GT2-Users@lists.sourceforge.net >> >> >> >> >> > >> >> >> >> >> > https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users >> >> >> >> >> > >> >> >> >> > >> >> >> >> > >> >> >> > >> >> >> > >> >> > >> >> > >> > >> > > > ------------------------------------------------------------------------------ Rapidly troubleshoot problems before they affect your business. Most IT organizations don't have a clear picture of how application performance affects their revenue. With AppDynamics, you get 100% visibility into your Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro! http://pubads.g.doubleclick.net/gampad/clk?id=84349351&iu=/4140/ostg.clktrk _______________________________________________ GeoTools-GT2-Users mailing list GeoTools-GT2-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users