ClassNotFoundException после экспорта JAR - PullRequest
0 голосов
/ 01 мая 2020

Я использую JRE 1.9.0 (9.0.4+ 11). Я пытаюсь создать исполняемый файл JAR. После того, как я экспортирую в JAR с Maven и пытаюсь запустить его, я получаю следующую ошибку:

Исключение в потоке "Поток приложения JavaFX" java .lang.NoClassDefFoundError: com / sun / javafx / css / convertters / SizeConverter в org.kordamp.ikonli.javafx.FontIcon $ StyleableProperties. (FontIcon. java: 265) в org.kordamp.ikonli.javafx.FontIcon.getClassCssMetaData (FontIcon. java 32): 32 .kordamp.ikonli.javafx. Неизвестный источник) на javafx.graphics/javafx.scene.CssStyleHelper.createStyleHelper(Unknown Source) на javafx.graphics/javafx.scene.Node.reapplyCss(Unknown Source) на javafx.graphics/javafx.scene.Node.Node. CSS (неизвестный источник) по адресу javafx.graphics/javafx.scene.Node.invalidatedScenes(Unknown Source) по адресу javafx.graphics/javafx.scene.Node.setScenes(Unknown Source) по адресу javafx.graphics/javafx.scene.P arent $ 2.onChanged (Неизвестный источник)

...

Вызывается: java .lang.ClassNotFoundException: com.sun.javafx. css .converters.SizeConverter at java .base / jdk.internal.loader.BuiltinClassLoader.loadClass (неизвестный источник) в java .base / jdk.internal.loader.ClassLoaders $ AppClassLoader.loadClass (неизвестный источник) в java .base / java. lang.ClassLoader.loadClass (Неизвестный источник) ... еще 103

Это происходит на той же машине, с которой я экспортировал JAR-файл. Он отлично работает при запуске из IDE, и я полагаю, что моя IDE (Eclipse) использует тот же JRE, что и Windows, когда запускает мой JAR, поскольку он единственный, который я установил. В состав Maven входят следующие библиотеки: ikonli 2.3.0 и jfoenix 9.0.8.

Я также попытался обернуть тот же JAR-файл с помощью Launch4J, и столкнулся с той же проблемой.

Вот сборка из мой пом. xml файл

  <build>
    <sourceDirectory>src</sourceDirectory>
    <plugins>
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.8.0</version>
        <configuration>
          <release>9</release>
        </configuration>
      </plugin>
            <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-shade-plugin</artifactId>
        <version>3.2.3</version>
        <configuration>
          <transformers>
                <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>
              <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                    <mainClass>com.project.Main</mainClass>
                </transformer>
             </transformers>
        </configuration>
        <executions>
          <execution>
            <phase>package</phase>
            <goals>
              <goal>shade</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <version>2.3.2</version>
                <configuration>
                    <archive>
                        <manifest>
                        <addClasspath>true</addClasspath>
                            <mainClass>
                                com.project.Main
                            </mainClass>
                        </manifest>
                    </archive>
                </configuration>
            </plugin>
    </plugins>
  </build>
...