首页 > 其他分享 >在Mac OS上如何运行jar文件

在Mac OS上如何运行jar文件

时间:2023-11-06 12:06:44浏览次数:43  
标签:java SWT eclipse jar Display Mac org OS swt

 问题 1:

% java -jar TASTS-MacOS-X64.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 MainForm.main(MainForm.java:10)

解决方法:

java -XstartOnFirstThread

 

问题 2:

java -XstartOnFirstThread -jar TASTS-MacOS-X64.jar
Unable to create basic Accelerated OpenGL renderer.
Unable to create basic Accelerated OpenGL renderer.
Core Image is now using the software OpenGL renderer. This will be slow.

不知道是否相关...但是我只是删除了一些窗口事件绑定(beforeunloadquit),现在不再看到此问题。(至少现在)。不确定如何将两者链接起来,但以防万一!

 解决方法:

(Deploying SWT Applications on Mac OS X)

https://www.eclipse.org/swt/macosx/

https://stackoverflow.com/questions/22926289/using-swt-under-osx

https://eclipsesource.com/blogs/2012/07/19/configuring-the-os-x-application-menu-for-swt-apps/

https://mchr3k.github.io/swtjar/osxapp.html

https://stackoverflow.com/questions/19803332/menu-doesnt-show-up-with-swt-on-mac-os-x

 

REF

 http://www.cocoachina.com/articles/446513


在Run Configurations -> Arguments -> VM arguments设置中加入:-XstartOnFirstThread



标签:java,SWT,eclipse,jar,Display,Mac,org,OS,swt
From: https://blog.51cto.com/emanlee/8203477

相关文章

  • Mac OS 10.15 安装 java 1.8
     1.到Oracle官网下载JDK1.8安装包 选择接受证书协议,然后选择对应的MacOSX一栏下载SDK,下载sdk必须要登录才可以下载,大家有需要的可以点击这里,百度网盘提取码:c62d下载完成后,我们得到一个dmg的安装包,名称为jdk-8u211-macosx-x64.dmg,表示这是java8版本号为211的JDK安装包。 2......
  • 关于Mac OS虚拟机下共享文件夹的方法
     1、确保左上角苹果标志的旁边是“Finder”;2、点击"Finder";3、选择“偏好设置设置”;4、然后在“通用”标签下勾选“已连接服务器”;5、重启。    FinderPreference--General--连接服务器 设置边栏: 重启之后可以看到共享文件夹: ......
  • VMware Workstation 15 Pro 安装macOS 10.15 Catalina (cdr文件版)
    VMwareWorkstation15Pro安装macOS10.15Catalina(cdr文件版) 所需工具:1.VMwareworkstation15Pro2.Unlocker (https://github.com/paolo-projects/unlocker/releases)https://github.com/paolo-projects/unlocker/releases/download/3.0.3/unlocker.zip3.macOScdr安......
  • Linux Centos安装JDK1.8教程
    第一步:先下载JDK1.8,可以去官网下载,也可以直接这里的:下载地址:链接:https://pan.baidu.com/s/1f1EDWvG-GzpQRJaC_W4SpA密码:9pj1先检查是否有安装JDK:#rpm-qa|grepjdk先把系统自带的干掉(如果没有直接跳过):   rpm-e--nodepsjava-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.x86_64......
  • Eclipse: export project such that Windows and Mac can both run it (SWT)
     [root@localhostaimin]#java-jarTASTS.jarExceptioninthread"main"java.lang.UnsatisfiedLinkError:CouldnotloadSWTlibrary.Reasons:   noswt-win32-4930r7injava.library.path   noswt-win32injava.library.path   Can'tloadlibr......
  • Java程序如何生成Jar 执行文件
     EclipseIDE      ......
  • Java jar: A JNI error has occurred, please check your installation and try again
    java-verion和javac-version版本不一致 E:\temp\eclipseWorkSpace>java-jarTASTS.jarExceptioninthread"main"java.lang.NoClassDefFoundError:org/eclipse/swt/widgets/DecorationsCausedby:java.lang.ClassNotFoundException:org.eclipse.swt.widge......
  • 如何在PS(photoshop)和AI(illustrator)里快速标注设计图尺寸?
    尺寸标注是大多数设计师必不可少的细节工作,特别是在一些特定的设计图中,标注至关重要。大部分设计大大都直接用CAD标注,其实只需要借助一些小插件,PS和AI也是完全可以直接搞定常见的尺寸标注的。PS-Specs一键尺寸标注 这是一款超级强大的《PS一键尺寸标注工具》,不管是平面图,还......
  • Centos 基本命令
    vim的使用:yuminstallvim-yx保存退出q退出,不保存q!强制退出,不保存w保存,但没退出wq保存并退出wq!强制保存并退出配置网卡:vim/etc/sysconfig/network-scripts/ifcfg-ens33(以实际网卡为准,可以用Tab补全)#编辑网卡配置文件TYPE=Ethernet#网卡类......
  • 基于 Axios 封装一个完美的双 token 无感刷新
    用户登录之后,会返回一个用户的标识,之后带上这个标识请求别的接口,就能识别出该用户。标识登录状态的方案有两种:session和jwt。session是通过cookie返回一个id,关联服务端内存里保存的session对象,请求时服务端取出cookie里id对应的session对象,就可以拿到用户信息。jwt......