SWT应用程序从Eclipse IDE运行,在我通过Maven创建jar并运行时不运行。给出不满意的linkException

问题描述 投票:2回答:4

我有一个SWT应用程序,其中我在pom.xml中添加了SWT相关依赖项,然后将其构建为maven项目以下载它们,当我在eclipse IDE中运行它时,它运行并且所有屏幕都在启动。

但是当我拿着jar并尝试通过命令行运行它时,它会给出UnsatisfiedlinkError。

细节堆栈跟踪如下。

Exception in thread "main" java.lang.UnsatisfiedLinkError: no swt-win32-3346 or
swt-win32 in swt.library.path, java.library.path or the jar file
        at org.eclipse.swt.internal.Library.loadLibrary(Library.java:219)
        at org.eclipse.swt.internal.Library.loadLibrary(Library.java:151)
        at org.eclipse.swt.internal.C.<clinit>(C.java:21)
        at org.eclipse.swt.widgets.Display.<clinit>(Display.java:126)

任何有关这方面的帮助将非常感激。

java eclipse maven build swt
4个回答
2
投票

我能够解决这个问题。在命令行和ide中运行的JRE都是相同的。但是,当Maven构建时,那就是指向64位JRE。我把所有东西都指向了32位,然后才有效。同样,当我把所有东西都指向64位时,它就可以了。!!感谢大家。


1
投票

请检查JREEclipse运行应用程序时使用的Command Line版本

我想从命令行运行jar时使用的JRE32-bit


0
投票

就像例外说的那样:

no swt-win32-3346 or
swt-win32 in swt.library.path, java.library.path or the jar file

您必须在其中一个目录中拥有swt库。


0
投票

即使重要的是您为SWT jar库支持链接了哪些内容,建议一个是将OS,JVM和Jar全部三个用于64或32位对齐所有相同的OS位版本。

© www.soinside.com 2019 - 2024. All rights reserved.