java.library.path中没有swt-mozilla-gtk-4332

java.library.path中没有swt-mozilla-gtk-4332,java,linux,centos,swt,Java,Linux,Centos,Swt,(有关新信息,请参见底部的更新。) 我有一个包含集成浏览器的JavaSWT应用程序 在Windows和CENTOS 6.5上一切正常。我被要求让应用程序在我安装了CENTOS 7的新计算机上运行 我一直在java.library.path中收到no-swt-mozilla-gtk-4332错误消息 我知道关于这个问题的各种说法。例如: 堆栈溢出 , 我正在使用Firefox24.8.0。那是CENTOS 7的。我也只是更新了所有的软件 参考文献表明我应该拥有OpenJDK,我就是这么做的。这是唯

(有关新信息,请参见底部的更新。)

我有一个包含集成浏览器的JavaSWT应用程序

在Windows和CENTOS 6.5上一切正常。我被要求让应用程序在我安装了CENTOS 7的新计算机上运行

我一直在java.library.path中收到no-swt-mozilla-gtk-4332错误消息

我知道关于这个问题的各种说法。例如:

堆栈溢出

,

我正在使用Firefox24.8.0。那是CENTOS 7的。我也只是更新了所有的软件

参考文献表明我应该拥有OpenJDK,我就是这么做的。这是唯一可以执行Java的版本

我按照另一个建议xulrunner(yum安装xulrunner)进行了安装

I set:MOZILLA_FIVE_HOME=/usr/lib/MOZILLA (有些人说使用,有些人说不使用。我尝试了两者。还有一个问题说指向“/usr/lib64/xulrunner”减去双引号,但这不起作用。是的,这个文件夹存在。)

587人对Ubuntu解决方案赞不绝口:

ln -s /usr/lib/jni/libswt-* ~/.swt/lib/linux/x86_64/
并没有jni文件夹,并且该选项的任何方式都不起作用

正如我提到的,a计划只有一个,所以

sudo update-alternatives --config java
没有用

问题可能是什么?如何解决?由于CENTOS 6.5机器可以正常工作(可能是因为缺少软件包?),而7不能正常工作,因此我不能像以前那样只需要向jar文件中添加一些内容

注意:以下是我的/etc/profile.d/java.sh文件内容:

export MOZILLA_FIVE_HOME=/usr/lib/mozilla
export LD_LIBRARY_PATH=${MOZILLA_FIVE_HOME}:${LD_LIBRARY_PATH}
这是实际的错误输出

线程“main”java.lang.reflect.InvocationTargetException中的异常 在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处 在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)中 在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)中 位于java.lang.reflect.Method.invoke(Method.java:606) 位于org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:58) 原因:org.eclipse.swt.swt恐怖:没有更多句柄[MOZILLA_FIVE_HOME='/usr/lib/MOZILLA'](java.lang.unsatifiedLinkError:无法加载swt库。原因: java.library.path中没有swt-mozilla-gtk-4332 java.library.path中没有swt mozilla gtk /home/hts/.swt/lib/linux/x86_64/libswt-mozilla-gtk-4332.so:libxpcom.so:无法打开共享对象文件:没有此类文件或目录 无法加载库:/home/hts/.swt/lib/linux/x86_64/libswt-mozilla-gtk.so ) 位于org.eclipse.swt.swt.error(未知源) 位于org.eclipse.swt.browser.Mozilla.initMozilla(未知源) 位于org.eclipse.swt.browser.Mozilla.create(未知源) 位于org.eclipse.swt.browser.browser。(未知来源) 位于prjNetAccelerator.AppMain.createContents(未知源) 位于prjNetAccelerator.AppMain.open(未知源代码) 位于prjNetAccelerator.AppWrapper.doLaunch(未知源) 位于prjNetAccelerator.AppWrapper.main(未知源) ... 还有5个 原因:java.lang.UnsatifiedLinkError:无法加载SWT库。原因: java.library.path中没有swt-mozilla-gtk-4332 java.library.path中没有swt mozilla gtk /home/hts/.swt/lib/linux/x86_64/libswt-mozilla-gtk-4332.so:libxpcom.so:无法打开共享对象文件:没有此类文件或目录 无法加载库:/home/hts/.swt/lib/linux/x86_64/libswt-mozilla-gtk.so 位于org.eclipse.swt.internal.Library.loadLibrary(未知源) 位于org.eclipse.swt.internal.Library.loadLibrary(未知源) ... 还有12个 更新

错误文本显示了问题,即系统无法找到libxpcom.so。版本22.0中的Mozilla(xulruntime)将libxpcom.so和mozsqlite3.so文件替换为libxul.so。文件libsmozsqlite3.so保留了几个版本,但也消失了。所有其他文件与版本28.x相同,该版本是截至今天(2014.09.18)的当前版本

出于某种原因,集成的SWT浏览器需要旧版本,即使它不存在。问题是:

  • SWT决定使用哪个版本的Gecko GTK+/xulrunner的机制是什么
  • 尽管我认为我的Eclipse开普勒版本是最新版本,但更新版本的SWT能解决这个问题吗
  • 如何让SWT瞄准新版本
  • 这个问题与Firefox或Chrome或其他什么相关
我现在了解大部分问题,但不是全部


我看到月食现在在月球上,所以这可能会解决问题,必须检查。这通常意味着更新SWT库。我真的认为Java是版本独立的,但我想不完全是这样。

我当时在SWT/GTK+v4.3上,需要下载并更新到SWT/GTK+v4.4(或v4.5的beta版),它支持GTK v22.*中引入的新GTK+,并在CENTOS 7中提供。请参阅Baz和我自己的评论。

我刚刚在Ubuntu 14.04上遇到了同样的错误,并通过安装一个旧版本解决了这个问题:

sudo apt-get install libwebkitgtk-1.0-0

libwebkitgtk-3.0-0
已安装

sudo apt get install libwebkitgt-1.0-0


我测试了很多java版本,认为是java。但真正有意义的是为pentaho数据集成的7.1和8.0版安装libwebkitgtk。

对于LinuxMint19,它与此配合使用(与marengaz的答案相同)


我试过类似的东西

sudo yum安装libwebkitgtk-1.0-0

在fedora 28上我收到了这个信息

" 最后一次元数据过期检查:0:33:01之前,2019年1月2日星期三下午6:38:13-02。 参数:libwebkitgtk-1.0-0不匹配 错误:找不到匹配项 "

在这篇文章中读到


fedora上的libwebkitgtk版本1不受支持

正如大家所说,您必须安装libwebkitgtk。但是现在在LinuxMint和ubuntu的更新版本中,它没有被安装。要解决此问题,请参阅:

跟随
sudo apt-get install libwebkitgtk-1.0-0