最近学习使用 eclipse rcp 来做一些插件。
首先下载安装 eclipse-rcp,然后安装 swt
emerge -av swt

安装完成以后, 在 /usr/portage/distfiles/ 中找到 swt* 的压缩包,然后解压到 /usr/local/src 中去。

当然也可以在 eclipse 官网上面下载最新的 源码 ,网址类似这样 https://archive.eclipse.org/eclipse/downloads/drops4/R-4.9-201809060745/

打开 eclipse-rcp,新建项目后,项目属性中 java build path --> Libraries 中添加 /usr/local/src/swt 里面的 swt.jar 包。 然后在项目文件的 swt.jar 包上右键属性,java source attachment 中选择 源文件目录 /usr/local/src/swt 中的 swt.zip 包。

调试无问题后,打包后, 使用 java -jar 来运行 jar 包, 提示 Error: Could not find or load main class HelloSWT。
使用 jar xvf helloSWT.jar 来解压缩 jar 包, 在METE-INF/MANIFEST.MF 文件中添加 Class-Path:swt.jar

再次运行,提示 no main manifest attribute, in helloSWT.jar

发现这样不行,重新导出的时候,发现还有一个选项是 runable jar file export, 选择这个选项,然后选择导出路径,下面三个依赖包的选项意思是:
(1)Extract required libraries into generated JAR。

把所有的import JAR都拆开来,包含在JAR的各个目录中,ex. net/org/xxx.class

(2)Package required libraries into generated JAR。

把所有的import JAR都包在JAR的根目录下

(3)Copy required libraries into a sub-folder next to the generated JAR。

把所有import JAR放在JAR外面独立的一个文件夹

正常我选择第二种, package打包,生成的 jar包,使用 java -jar,就可以正常运行了。

gentoo eclipse swt的更多相关文章

  1. Eclipse swt开发环境搭建

    原料: eclipse swt.下载链接为: Eclipse 4.6.2 Release Build: 4.6.2 配置说明: Developing SWT applications using Ec ...

  2. org.eclipse.swt.custom.StyledText.getScrollbarsMode()I

    错误: org.eclipse.swt.custom.StyledText.getScrollbarsMode()I 解决方法: 1 卸载,并手工清除myeclipse全部文件 2 重新安装myecl ...

  3. 报错:org.eclipse.swt.SWTError: No more handles at org.eclipse.swt.SWT.error(SWT.java:4517)

    在Mars.Kepler的版本裡,時常會出現以下錯誤導致eclipse無法進行運作 Error.log org.eclipse.swt.SWTError: No more handles     at ...

  4. 解决ubuntu 14.04 下eclipse 3.7.2 不能启动,报Could not detect registered XULRunner to use 或 org.eclipse.swt.SWTError: XPCOM 等问题的处理

    对于eclipse 3.7.2在ubuntu 14.04下不能启动,需要在 eclipse/configuration 目录下的config.ini文件内增加一行org.eclipse.swt.bro ...

  5. org.eclipse.swt.SWTException: Invalid thread access问题解决方法

    转自 http://blog.csdn.net/ecjtuxuan/article/details/2125023 怎么解决SWT多线程错误:Caused by: org.eclipse.swt.SW ...

  6. myeclipse启动错误:org.eclipse.swt.SWTError: No more handles

    myeclipse启动错误,生成日志: !SESSION 2014-11-06 09:13:16.296 ----------------------------------------------- ...

  7. 解决Eclipse异常关闭后重启报 org.eclipse.swt.SWTException: Invalid thread access 的问题

    . . . . . 很久没有写博客了,最近实在是太忙,一直想写点干货,但是一直没静下心来学习. 今天又在加班忙碌之中,结果谁知道越忙碌越出问题.先是 weblogic 没有正常启动,凭经验第一反应就是 ...

  8. eclipse报这个错误org.eclipse.swt.SWTError: No more handles (eclipse 和 TeamViewer 冲突)

    错误:  org.eclipse.swt.SWTError: No more handles     at org.eclipse.swt.SWT.error(SWT.java:4387)     a ...

  9. org.eclipse.e4.core.di.InjectionException:org.eclipse.swt.SWTException: Widget is disposed

    org.eclipse.e4.core.di.InjectionException:org.eclipse.swt.SWTException: Widget is disposed 开发环境为ecli ...

随机推荐

  1. mybatis源码阅读心得

    第一天阅读源码及创建时序图.(第一次用prosson画时序图,挺丑..) 1.  调用 SqlSessionFactoryBuilder 对象的 build(inputStream) 方法: 2.   ...

  2. Mysql权限速查表以及权限详解

    一.前言 很多文章中会说,数据库的权限按最小权限为原则,这句话本身没有错,但是却是一句空话.因为最小权限,这个东西太抽象,很多时候你并弄不清楚具体他需要哪 些权限. 现在很多mysql用着root账户 ...

  3. java集合之HashMap源码解析

    Map是java中的一种数据结构,围绕着Map接口,有一系列的实现类如Hashtable.HashMap.LinkedHashMap和TreeMap.而其中HashMap和Hashtable我们平常使 ...

  4. html多个水平并列组件自适应等高的做法

    做一个div盒子,设置over-flow:hidden,设置高度为auto.然后再盒子里排列若干inline-block,inline元素. 自适应的话常用做法是用line-height,font-s ...

  5. 跟着未名学Office – 整体了解 Ms Office 2010

    目录 MS Office 2010    2 Microsoft Office System    2 Ribbon(功能区)    2 文件选项卡    3 SmartArt    3 屏幕截图   ...

  6. Elasticsearch 5.2.x 使用 Head 插件连接不上集群

    如果访问elasticsearch出现跨域的问题,如下: 修改elasticsearch.yml文件 vim $ES_HOME$/config/elasticsearch.yml # 增加如下字段 h ...

  7. windows下python2和python3同时安装ipython

    1.ipython简介: IPython 是一个 python 的交互式 shell,比默认的python shell 好用得多,支持变量自动补全,自动缩进,支持 bash shell 命令,内置了许 ...

  8. 廖雪峰Java2面向对象编程-6Java核心类-1字符串和编码

    Java的字符串用String表示 1.String特点: 可以直接使用"..."表示一个字符串,不强制使用new String 内容不可变 String s1 = "h ...

  9. Shell案例:图案打印

    打印三角形图案 #!/bin/bash echo "Stars" ; i<=; i++ )) do ; j<=i; j++ )) do echo -n " * ...

  10. Retrofit 使用方法

    public class MainActivity extends Activity { private ListView mListView; //private ImageListAdapter ...