我刚刚完成了对新Java应用程序的编码,我想将其导出为可以在Windows和Mac上读取的格式(或者,如果需要,可以在两种不同的格式中读取)。我尝试右键单击我的项目并导出到可运行的JAR文件,选择将所需的库提取到生成的JAR中。
由于我以前从未从Eclipse导出过(我习惯使用Unity,在较小程度上是Visual Studio),我确信我做错了,因为它无法在macOS Sierra或Windows上打开10.我做错了什么?谢谢!
编辑:这是我尝试在JAR上运行java -jar
时的输出(文件名已被混淆):
***WARNING: Display must be created on main thread due to Cocoa restrictions.
Exception in thread "main" org.eclipse.swt.SWTException: Invalid thread access
at org.eclipse.swt.SWT.error(SWT.java:4533)
at org.eclipse.swt.SWT.error(SWT.java:4448)
at org.eclipse.swt.SWT.error(SWT.java:4419)
at org.eclipse.swt.widgets.Display.error(Display.java:1089)
at org.eclipse.swt.widgets.Display.createDisplay(Display.java:840)
at org.eclipse.swt.widgets.Display.create(Display.java:823)
at org.eclipse.swt.graphics.Device.<init>(Device.java:129)
at org.eclipse.swt.widgets.Display.<init>(Display.java:722)
at org.eclipse.swt.widgets.Display.<init>(Display.java:713)
at org.eclipse.swt.widgets.Display.getDefault(Display.java:1419)
at myJar.MainWindow.main(MainWindow.java:19)
答案 0 :(得分:0)
您似乎正在运行SWT应用程序。在macOS上,运行jar以正确运行SWT时必须指定-XstartOnFirstThread
选项:
jar -XstartOnFirstThread -jar xxxx.jar
SWT应用程序还有一个本地库,每个平台都有所不同。