JavaFX-изображение getUrl (), вызывающее NoSuchMethodError в самолете Excelsior - PullRequest
0 голосов
/ 26 августа 2018

Я пытаюсь скомпилировать мое приложение javaFx, используя Excelsior Jet, и оно работало нормально, за исключением случаев, когда я использовал getUrl () для Типа javafx.scene.image.Image, этот метод существует, и он работает, когда я запускаю приложение из Eclipse, но когда я запускаю его в Excelsior, я получаю следующую ошибку:

Exception in thread "JavaFX Application Thread" java.lang.NoSuchMethodError: getUrl

Я не уверен, как это работает, но я подумал, что что-то может отсутствовать в библиотеках Excelsior, есть ли способ обойти эту проблему?

Ответы [ 2 ]

0 голосов
/ 26 августа 2018

Я нашел решение этой проблемы на основе этого предложения "просто запомни URL" , создав новый класс с именем Image, который расширяет javafx.scene.image.Image, и присвоил ему новый атрибут url.и метод, чтобы получить его

public class Image extends javafx.scene.image.Image{

    String url;

    public Image(String url) {
        super(url);
        this.url = url;
    }

    public String geturl() {
        return url;
    }

}

, а затем вызвать geturl () вместо getUrl () (потому что я не могу переопределить последний метод getUrl ()).

0 голосов
/ 26 августа 2018

Если вы посмотрите документацию этого метода

документы для getUrl ()

, вы увидите, что этот метод был введен в Java 9, и я предполагаю,что Excelsior Jet по-прежнему основан на Java 8.

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