升级到JDK 13和JavaFX 13后未找到媒体类

升级到JDK 13和JavaFX 13后未找到媒体类,java,javafx,Java,Javafx,当我有JDK 8(我想?)和e(fx)clipse附带的默认JavaFX时,我做了一个项目。它工作得很好,但最近我将它们升级到JDK13.0.1和JFX13,现在它崩溃了,因为它找不到媒体类 该项目很简单,它只是从mp4文件的中间播放,并在1秒后暂停视频。代码如下: package test; import javafx.animation.KeyFrame; import javafx.animation.Timeline; import javafx.application.Applic

当我有JDK 8(我想?)和e(fx)clipse附带的默认JavaFX时,我做了一个项目。它工作得很好,但最近我将它们升级到JDK13.0.1和JFX13,现在它崩溃了,因为它找不到媒体类

该项目很简单,它只是从mp4文件的中间播放,并在1秒后暂停视频。代码如下:

package test;


import javafx.animation.KeyFrame;
import javafx.animation.Timeline;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.layout.AnchorPane;
import javafx.scene.media.Media;
import javafx.scene.media.MediaPlayer;
import javafx.scene.media.MediaView;
import javafx.stage.Stage;
import javafx.util.Duration;

public class main extends Application {

    public static void main(String[] args) {
        launch(args);

    }

    public MediaPlayer mp;
    public Timeline tl;
    @Override
    public void start(Stage win) throws Exception {


        Media m=new Media(ClassLoader.getSystemResource("test/videoplayback.mp4").toExternalForm());
        mp=new MediaPlayer(m);
        mp.setVolume(0.5);

        MediaView mv=new MediaView(mp);

        AnchorPane pane=new AnchorPane();
        pane.getChildren().addAll(mv);

        Scene s=new Scene(pane,640,360);
        win.setScene(s);
        win.show();
        p();

    }

    public void p() {

        mp.play();
        tl=new Timeline(

            new KeyFrame(Duration.seconds(0.01),event->{
                mp.seek(mp.getStartTime().add(Duration.seconds(118.4)));


            }),
            new KeyFrame(Duration.seconds(1),event->mp.pause())

        );
        tl.playFromStart();
    }

}

这里是错误

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:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:567)
    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:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:567)
    at java.base/sun.launcher.LauncherHelper$FXHelper.main(LauncherHelper.java:1051)
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:830)
Caused by: java.lang.NoClassDefFoundError: javafx/scene/media/Media
    at test.main.start(main.java:28)
    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
Caused by: java.lang.ClassNotFoundException: javafx.scene.media.Media
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:602)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
    ... 10 more
Exception running application test.main
我已经将整个javafx库添加到构建路径中,包括javafx.media.jar。其他常见的javaFX类似乎可以工作,但javaFX.scene.media下的任何类都不能工作。我做了一个新项目,就像这个一样。除了javafx.scene.media下的类之外,其他一切都可以工作


我没有足够的脑细胞知道我应该从这里去哪里,所以请帮助我。提前谢谢

按照@jewelsea的说明,我确实按照他们的说明安装了javafx,正如我所说,它可以正常工作,但当你,您是否正在添加
javafx.media
?按照@jewelsea的说明进行操作我确实按照说明安装了javafx,正如我所说,它可以工作,但与媒体相关的任何内容都无法工作当您添加
javafx.media