Can you double check that
org.apache.maven.plugins.shade.resource.ServicesResourceTransformer did it's
job?
We need it to preserve (and combine) the contents of the META_INF/services
directory (used by the java plug-in system called "Service Provider Interface
(SPI)" in your combined jar.
(You should be able to find that function mentioned directly, or its
FunctionFactory)
Docs:
- http://docs.geotools.org/latest/userguide/welcome/integration.html
- How do I create an executable jar for my GeoTools app?
(http://docs.geotools.org/latest/userguide/faq.html#how-do-i-create-an-executable-jar-for-my-geotools-app)
Jody
On Wednesday, 20 March 2013 at 10:48 PM, Jerry Bogedain wrote:
> My application runs fine from Eclipse. When I create the jar file I get the
> following error:
>
> WARNING: Can't load a service for category "Function". Cause is
> "ServiceConfigurationError: org.open
> gis.filter.expression.Function: Provider
> org.geotools.filter.function.JenksNaturalBreaksFunction org.
> geotools.resources.coverage.FilterFunction_isCoverage not found".
>
> I am building the jar using the maven shade plugin (pom at bottom of this
> email). I have double checked to make sure the
> JenksNaturalBreaksFunction.class is in the jar file as well as
> FilterFunction_isCoverage.class. They both are, in their respective
> directories.
> Any ideas of what I am doing wrong?
>
>
> pom.xml:
>
> <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.djp</groupId>
> <artifactId>rasterCalculator</artifactId>
> <version>1.0-SNAPSHOT</version>
> <packaging>jar</packaging>
>
> <name>rasterCalculator</name>
> <url>http://maven.apache.org (http://maven.apache.org/)</url>
>
> <build>
> <plugins>
> <plugin>
> <artifactId>maven-compiler-plugin</artifactId>
> <configuration>
> <encoding>UTF-8</encoding>
> <target>1.5</target>
> <source>1.5</source>
> </configuration>
> </plugin>
> <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>
> <transformer
> implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
> <manifestEntries>
>
> <Main-Class>com.djp.rastercalculator.RasterCalculator</Main-Class>
> </manifestEntries>
> </transformer>
> <transformer
> implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>
> </transformers>
> </configuration>
> </execution>
> </executions>
> </plugin>
> </plugins>
> </build>
>
>
> <properties>
> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
> <geotools.version>10-SNAPSHOT</geotools.version>
> </properties>
>
> <dependencies>
> <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>
> <dependency>
> <groupId>org.geotools</groupId>
> <artifactId>gt-image</artifactId>
> <version>${geotools.version}</version>
> </dependency>
> <dependency>
> <groupId>org.geotools</groupId>
> <artifactId>gt-geotiff</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-epsg-hsql</artifactId>
> <version>${geotools.version}</version>
> </dependency>
> <dependency>
> <groupId>log4j</groupId>
> <artifactId>log4j</artifactId>
> <version>1.2.15</version>
> <exclusions>
> <exclusion>
> <groupId>com.sun.jmx</groupId>
> <artifactId>jmxri</artifactId>
> </exclusion>
> <exclusion>
> <groupId>com.sun.jdmk</groupId>
> <artifactId>jmxtools</artifactId>
> </exclusion>
> <exclusion>
> <groupId>javax.jms</groupId>
> <artifactId>jms</artifactId>
> </exclusion>
> </exclusions>
> </dependency>
> <dependency>
> <groupId>commons-io</groupId>
> <artifactId>commons-io</artifactId>
> <version>2.4</version>
> </dependency>
> </dependencies>
>
> <repositories>
> <repository>
> <id>maven2-repository.dev.java.net
> (http://maven2-repository.dev.java.net/)</id>
> <name>Java.net (http://Java.net) repository</name>
> <url>http://download.java.net/maven/2</url>
> </repository>
> <repository>
> <id>osgeo</id>
> <name>Open Source Geospatial Foundation Repository</name>
> <url>http://download.osgeo.org/webdav/geotools/</url>
> </repository>
> <repository>
> <snapshots>
> <enabled>true</enabled>
> </snapshots>
> <id>opengeo</id>
> <name>OpenGeo Maven Repository</name>
> <url>http://repo.opengeo.org (http://repo.opengeo.org/)</url>
> </repository>
> </repositories>
> </project>
>
>
> Thanks
> Jerry
>
>
>
> ------------------------------------------------------------------------------
> Everyone hates slow websites. So do we.
> Make your web apps faster with AppDynamics
> Download AppDynamics Lite for free today:
> http://p.sf.net/sfu/appdyn_d2d_mar
>
> _______________________________________________
> GeoTools-GT2-Users mailing list
> [email protected]
> (mailto:[email protected])
> https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users
>
>
------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_mar
_______________________________________________
GeoTools-GT2-Users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users