I'm using JavaFx 11 with OpenJDK 15. I've watched many sample videos but still getting the errors.
Is that the problem of configuration? My music file is in the same folder of src. Can anyone help? Thanks!
This is my source code.
import MonopolyRPG.Controller.GameModePage;
import javafx.application.Application;
import javafx.scene.media.MediaPlayer;
import javafx.stage.Stage;
import javafx.scene.media.Media;
public class Main extends Application {
public static void main(String[] args) {
Application.launch();
}
@Override
public void start(Stage primaryStage) throws Exception {
music();
GameModePage gameModePage= new GameModePage();
gameModePage.start();
primaryStage.close();
}
MediaPlayer mediaPlayer;
public void music() {
String filepath="file:///E:/MonopolyRPG-master/BGM.mp3";
Media sound = new Media(filepath);
//MediaPlayer mediaPlayer = new MediaPlayer(sound);
mediaPlayer = new MediaPlayer(sound);
mediaPlayer.setAutoPlay(true);
}
}
The errors keep occurs. And I tried to configure VM option and change .wav file to .mp3, still can't realise what happened.
Is this the correct syntax?
--module-path
C:\Users\javafx-sdk-11.0.2\lib
--add-modules
javafx.controls,javafx.fxml
"C:\Program Files\Java\jdk-15\bin\java.exe" --module-path C:\Users\javafx-sdk-11.0.2\lib --add-modules javafx.controls,javafx.fxml "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2020.1.3\lib\idea_rt.jar=50311:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2020.1.3\bin" -Dfile.encoding=UTF-8 -classpath E:\MonopolyRPG-master\out\production\MonopolyRPG;C:\Users\javafx-sdk-11.0.2\lib\src.zip;C:\Users\javafx-sdk-11.0.2\lib\javafx-swt.jar;C:\Users\javafx-sdk-11.0.2\lib\javafx.web.jar;C:\Users\javafx-sdk-11.0.2\lib\javafx.base.jar;C:\Users\javafx-sdk-11.0.2\lib\javafx.fxml.jar;C:\Users\javafx-sdk-11.0.2\lib\javafx.media.jar;C:\Users\javafx-sdk-11.0.2\lib\javafx.swing.jar;C:\Users\javafx-sdk-11.0.2\lib\javafx.controls.jar;C:\Users\javafx-sdk-11.0.2\lib\javafx.graphics.jar MonopolyRPG.Main
Exception in Application start method
java.lang.reflect.InvocationTargetException
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:564)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:464)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:363)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:564)
at java.base/sun.launcher.LauncherHelper$FXHelper.main(LauncherHelper.java:1071)
Caused by: java.lang.RuntimeException: Exception in Application start method
at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:900)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.lambda$launchApplication$2(LauncherImpl.java:195)
at java.base/java.lang.Thread.run(Thread.java:832)
Caused by: java.lang.IllegalAccessError: class com.sun.media.jfxmediaimpl.NativeMediaManager (in unnamed module @0x47300aa3) cannot access class com.sun.glass.utils.NativeLibLoader (in module javafx.graphics) because module javafx.graphics does not export com.sun.glass.utils to unnamed module @0x47300aa3
at com.sun.media.jfxmediaimpl.NativeMediaManager.lambda$new$0(NativeMediaManager.java:110)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:554)
at com.sun.media.jfxmediaimpl.NativeMediaManager.<init>(NativeMediaManager.java:107)
at com.sun.media.jfxmediaimpl.NativeMediaManager$NativeMediaManagerInitializer.<clinit>(NativeMediaManager.java:78)
at com.sun.media.jfxmediaimpl.NativeMediaManager.getDefaultInstance(NativeMediaManager.java:90)
at com.sun.media.jfxmedia.MediaManager.canPlayProtocol(MediaManager.java:78)
at com.sun.media.jfxmedia.locator.Locator.<init>(Locator.java:239)
at javafx.scene.media.Media.<init>(Media.java:393)
at MonopolyRPG.Main.music(Main.java:36)
at MonopolyRPG.Main.start(Main.java:22)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$9(LauncherImpl.java:846)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runAndWait$12(PlatformImpl.java:455)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:428)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:391)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:427)
at javafx.graphics/com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96)
at javafx.graphics/com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at javafx.graphics/com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:174)
... 1 more
Exception running application MonopolyRPG.Main
Process finished with exit code 1