У меня ошибка при развертывании .jar сгенерированного с Maven с импортом jfx - PullRequest
1 голос
/ 24 июня 2019

Я сгенерировал «пакет» .jar с зависимостями, используя maven, однако при развертывании разработчик, развернувший его, имеет следующую ошибку:

10:23:27.604 [http-nio-8080-exec-1] DEBUG org.springframework.web.servlet.mvc.method.annotation.ExceptionHandlerExceptionResolver - Resolving exception from handler [public org.springframework.http.ResponseEntity<?> company.Api.convertXmlToPdf(javax.servlet.http.HttpServletRequest)]: org.springframework.web.util.NestedServletException: Handler dispatch failed; nested exception is java.lang.NoClassDefFoundError: javafx/util/Pair
10:23:27.606 [http-nio-8080-exec-1] DEBUG org.springframework.web.servlet.mvc.annotation.ResponseStatusExceptionResolver - Resolving exception from handler [public org.springframework.http.ResponseEntity<?> company.Api.convertXmlToPdf(javax.servlet.http.HttpServletRequest)]: org.springframework.web.util.NestedServletException: Handler dispatch failed; nested exception is java.lang.NoClassDefFoundError: javafx/util/Pair
10:23:27.606 [http-nio-8080-exec-1] DEBUG org.springframework.web.servlet.mvc.support.DefaultHandlerExceptionResolver - Resolving exception from handler [public org.springframework.http.ResponseEntity<?> company.Api.convertXmlToPdf(javax.servlet.http.HttpServletRequest)]: org.springframework.web.util.NestedServletException: Handler dispatch failed; nested exception is java.lang.NoClassDefFoundError: javafx/util/Pair

Похоже, что .jar не включает никакой зависимости с javafx/ Util / пара.

Я пытался добавить зависимости с помощью maven, добавляя lib в проект:

    <dependency>
        <groupId>javafx</groupId>
        <artifactId>jfxrt</artifactId>
        <version>2.2.3</version>
        <scope>system</scope>
        <systemPath>${project.basedir}/lib/jfxrt.jar</systemPath>
    </dependency>

Не работает.

Я пытался добавить

    <plugin>
            <groupId>com.zenjava</groupId>
            <artifactId>javafx-maven-plugin</artifactId>
            <version>8.8.3</version>
            <configuration>
                <mainClass>hermes.Api</mainClass>
            </configuration>
    </plugin>

в моей конфигурации сборки (pom).Также не работает ...

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

И машина разработчика, и машина развертывания используют

java версию "1.8.0_171 "
Java (TM) SE Runtime Environment (сборка 1.8.0_171-b11)
Java HotSpot (TM) 64-разрядная серверная виртуальная машина (сборка 25.171-b11, смешанный режим)

(Машина развертывания использует _172 версию ...)

РЕДАКТИРОВАТЬ: это не решение проблемы, но, поскольку единственная часть javafx, используемая в коде, это Pair, я отменил ее на AbstractMap.SimpleEntry , который в основном совпадает с парой.Я надеюсь, что это может кому-то помочь ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...