Ошибка GeoTiff при сборке Jar с GeoTools

Прежде всего, пожалуйста, простите любые ошибки, которые вы, вероятно, увидите в моей почте, я не являюсь носителем языка.

Я ищу помощь с GeoTools. Я использовал его для школьного проекта, у меня почти не было проблем до сих пор.

Но теперь, когда мой проект завершен, я попытался создать исполняемый файл jar с плагином maven's shade, как показано в FAQ GeoTools.

Вот моя проблема, когда я пытаюсь использовать jar, который был создан, когда я набираю 'mvn package', я получаю эту ошибку:

java.lang.UnsupportedOperationException: Trying to get a reader from an unknown
format.
        at org.geotools.coverage.grid.io.UnknownFormat.getReader(UnknownFormat.j
ava:62)
        at coeurDLL.SMap.<init>(SMap.java:44)
        at coeurDLL.CoeurController.initialize(CoeurController.java:103)
        at coeur.Interface.getMapsAndDisplay(Interface.java:152)
        at coeur.Interface.<init>(Interface.java:948)
        at coeur.Interface.main(Interface.java:957)
java.lang.NullPointerException
        at coeurDLL.CoeurController.getColumnsFields(CoeurController.java:225)
        at coeur.Interface.setControlPanel(Interface.java:327)
        at coeur.Interface.displayMainWindow(Interface.java:185)
        at coeur.Interface.getMapsAndDisplay(Interface.java:162)
        at coeur.Interface.<init>(Interface.java:948)
        at coeur.Interface.main(Interface.java:957)

Это происходит, когда я пытаюсь прочитать файл GeoTif с помощью метода "reader.read(null)". Конечно, у меня нет этой проблемы при выполнении проекта на Eclipse.

Я где-то читал, что это может быть проблема зависимости, но я не вижу, что я мог пропустить.

Некоторые детали, которые могут быть полезны: - Я использую GeoTools версии 12-RC1 - Я не использую библиотеки JAI, я работаю в режиме Java Pure. Это позволяет мне работать с 64-битным JDK. Я пытался из любопытства с 32-битным JDK, но у меня все равно есть та же проблема в любом случае. - Я работаю над Windows 7, но это не должно иметь никакого значения.

Вот содержимое моего 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>pfe.coeur</groupId>
  <artifactId>coeur</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>jar</packaging>
  <name>tuto</name>
  <url>http://maven.apache.org</url>


    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <geotools.version>12-RC1</geotools.version>
    </properties>
<build>
      <plugins>
          <plugin>
              <artifactId>maven-compiler-plugin</artifactId>
              <version>3.1</version>
              <configuration>
                  <encoding>UTF-8</encoding>
                  <target>1.8</target>
                  <source>1.8</source>
              </configuration>
          </plugin>
          <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-shade-plugin</artifactId>
              <version>2.3</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>coeur.Interface</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>
      </plugins>
  </build>
    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.11</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.geotools</groupId>
            <artifactId>gt-coverage</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-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-epsg-hsql</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-image</artifactId>
            <version>${geotools.version}</version>
        </dependency>
        <dependency>
            <groupId>org.geotools</groupId>
            <artifactId>gt-wms</artifactId>
            <version>${geotools.version}</version>
        </dependency>
    </dependencies>

        <repositories>
        <repository>
            <id>maven2-repository.dev.java.net</id>
            <name>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>
    </repositories>
</project>

Я могу получить эту же ошибку в Eclipse, когда удаляю gt: geotiff из моих зависимостей. Но в банке есть эта зависимость.

Буду очень признателен, если кто-нибудь поможет мне решить эту проблему. Мне нужен этот исполняемый фляга, чтобы закончить мой проект, и у меня не так много времени, чтобы его получить.

С Уважением,

0 ответов

Другие вопросы по тегам