首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >蚂蚁媒体服务器: java.lang.reflect.InvocationTargetException

蚂蚁媒体服务器: java.lang.reflect.InvocationTargetException
EN

Stack Overflow用户
提问于 2021-03-11 08:36:06
回答 1查看 245关注 0票数 0

我已经下载了ant-media-server文件并尝试启动服务器。

但是,我最近认为Ant需要java 11。

因此,我将java版本更新为java 11:

所以当我运行这个命令时:

java -version

其结果是:

openjdk版本"11.0.11-ea“2021-04-20

OpenJDK运行时环境(Build11.0.11-EA+4-Ubuntu-0ubuntu3.16.04.1)

OpenJDK 64位服务器VM (构建11.0.11-ea+4-Ubuntu-0ubuntu3.16.04.1,混合模式,共享)

当我运行这个命令时:

javac -version

其结果是:

javac 11.0.11-ea

当我尝试启动Ant Media Server时,我得到的结果是:

代码语言:javascript
复制
Bootstrap exception: null
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:566)
    at org.red5.server.Bootstrap.bootStrap(Bootstrap.java:122)
    at org.red5.server.Bootstrap.main(Bootstrap.java:50)
Caused by: java.lang.UnsatisfiedLinkError: no jniavutil in java.library.path: [/home/ahmed/Desktop/CodingPlayground/ant_media_server/ant_media_server/lib/native]
    at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2670)
    at java.base/java.lang.Runtime.loadLibrary0(Runtime.java:830)
    at java.base/java.lang.System.loadLibrary(System.java:1873)
    at org.bytedeco.javacpp.Loader.loadLibrary(Loader.java:1683)
    at org.bytedeco.javacpp.Loader.load(Loader.java:1300)
    at org.bytedeco.javacpp.Loader.load(Loader.java:1123)
    at org.bytedeco.ffmpeg.global.avutil.<clinit>(avutil.java:14)
    at org.red5.server.Launcher.launch(Launcher.java:65)
    ... 6 more
Caused by: java.lang.UnsatisfiedLinkError: /home/ahmed/.javacpp/cache/ffmpeg-4.3.1-1.5.4-linux-x86_64.jar/org/bytedeco/ffmpeg/linux-x86_64/libjniavutil.so: libva-drm.so.2: cannot open shared object file: No such file or directory
    at java.base/java.lang.ClassLoader$NativeLibrary.load0(Native Method)
    at java.base/java.lang.ClassLoader$NativeLibrary.load(ClassLoader.java:2442)
    at java.base/java.lang.ClassLoader$NativeLibrary.loadLibrary(ClassLoader.java:2498)
    at java.base/java.lang.ClassLoader.loadLibrary0(ClassLoader.java:2694)
    at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2627)
    at java.base/java.lang.Runtime.load0(Runtime.java:768)
    at java.base/java.lang.System.load(System.java:1837)
    at org.bytedeco.javacpp.Loader.loadLibrary(Loader.java:1633)
    ... 10 more

知道怎么回事吗?

编辑1:

当我检查JAVA_HOME环境变量时,我发现它仍然指向java-8文件:

代码语言:javascript
复制
JAVA_HOME=/usr/lib/jvm/java-8-oracle

所以我试图查看/usr/lib/jvm中的文件,这就是我发现的:

所以也许这就是造成问题的原因?

我不知道应该将JAVA_HOME指向哪个文件。

编辑2:

我打开了/etc/environment并修改了JAVA_HOME:

代码语言:javascript
复制
JAVA_HOME='/usr/lib/jvm/java-11-openjdk-amd64'

我还通过运行以下命令在全球范围内改变了它:

代码语言:javascript
复制
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64

而且,我仍然会犯同样的错误。

EN

回答 1

Stack Overflow用户

发布于 2021-03-11 09:00:36

检查/etc/profile中的变量,您可以设置如下所示的java环境--强大的textvariable:

代码语言:javascript
复制
export JAVA_HOME=/usr/share/jdk1.6.0_14
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66578927

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档