如何修复UnsatisfiedLinkError? [英] How to fix UnsatisfiedLinkError?

查看:64
本文介绍了如何修复UnsatisfiedLinkError?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我希望使用我的本地声音文件之一来提供背景音乐,但出现此错误消息:

I wish to use one of my local sound files to provide background music, but I get this error message:

原因:java.lang.UnsatisfiedLinkError:无法加载库:C:\ Program Files \ Amazon Corretto \ jdk1.8.0_232 \ jre \ bin \ glib-lite.dll

Caused by: java.lang.UnsatisfiedLinkError: Can't load library: C:\Program Files\Amazon Corretto\jdk1.8.0_232\jre\bin\glib-lite.dll

但是我的代码如下:

public class DungeonGUI extends Application {
    private Dungeon dungeon;
    private Stage stage;
    private GridPane root;
    private Button attack;
    private Button heal;
//    private Button checkInventory;
    private Button save;
    private Text characterHealth;
    private Text characterPower;
    private Text characterInventory;
    private Text monsterHealth;
    private Text monsterPower;
    private File audioFile = new File("C:/Users/15774/Downloads/oof.mp3");

    @Override
    public void start(Stage stage) throws Exception {
        setButtons();
        dungeon = new Dungeon();
        setTexts();
        this.stage = stage;
        root = new GridPane();

        heal.setOnAction(this::onHeal);
        attack.setOnAction(this::onAttack);
        save.setOnAction(this::onSave);

        stage.setTitle("Dungeone Dungeon");
        root.setAlignment(Pos.CENTER);

        setMedia();
        setupRoot();
        setStage(stage);
    }

    private void setMedia() {
        Media media = new Media(audioFile.toURI().toString());
        MediaPlayer mediaPlayer = new MediaPlayer(media);
        mediaPlayer.setAutoPlay(true);
    }

如您所见,我在任何时候都没有调用程序文件.可能是什么问题?

As you can see I did not call program files at any time. What might be the problem?

P.S .:这只是我的代码的一部分.如果您需要更多信息,请发表评论.

P.S.: this is only part of my code. If you guys need more information just shoot a comment.

推荐答案

Amazon's Corretto 8不包含JavaFX support的必要工件.

Amazon's Corretto 8 doesn't contain the necessary artifacts for JavaFX support.

您必须集成一些必须在线检查的第三方jar.

You have to integrate some third party jar/jars that you have to check online.

您可以使用OpenJFX,它是提供JavaFX支持的开源库. OpenJFX是OpenJDK的一个项目.

You can use OpenJFX which is open source library that provides JavaFX support. OpenJFX is a project of OpenJDK.

它从JDK 11开始就支持,但是您可以在Corretto 8上尝试使用它.它可能会起作用.

It supports from JDK 11 onwards but you can try that with Corretto 8. It may work.

尝试使用Oracle's JDK version 8/OpenJDK version 8.

注意::Oracle's JDK 8支持JavaFX(它具有JavaFX支持所必需的库). Open JDK版本8可能包含OpenJFX(您可以检查).

Note : Oracle's JDK 8 supports JavaFX (it has necessary libraries for JavaFX support). Open JDK version 8 may include OpenJFX (you can check).

阅读:

https://github.com/corretto/corretto-8/Issues/26

这篇关于如何修复UnsatisfiedLinkError?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆