- 浏览: 1149621 次
- 性别:
- 来自: 火星郊区
博客专栏
-
OSGi
浏览量:0
文章分类
- 全部博客 (695)
- 项目管理 (48)
- OSGi (122)
- java (79)
- Vaadin (5)
- RAP (47)
- mysql (40)
- Maven (22)
- SVN (8)
- 孔雀鱼 (10)
- hibernate (9)
- spring (10)
- css (3)
- 年审 (6)
- ant (1)
- jdbc (3)
- FusionCharts (2)
- struts (4)
- 决策分析 (2)
- 生活 (10)
- 架构设计 (5)
- 破解 (2)
- 狼文化 (4)
- JVM (14)
- J2EE (1)
- 应用服务器 (1)
- 我的链接 (5)
- 数学 (2)
- 报表 (1)
- 百科 (6)
- Flex (7)
- log4j (2)
- PHP (1)
- 系统 (2)
- Web前端 (7)
- linux (6)
- Office (1)
- 安全管理 (5)
- python (2)
- dom4j (1)
- 工作流 (3)
- 养生保健 (4)
- Eclipse (8)
- 监控开发 (1)
- 设计 (3)
- CAS (1)
- ZK (41)
- BluePrint (3)
- 工具 (1)
- SWT (7)
- google (2)
- NIO (1)
- 企业文化 (2)
- Windoes (0)
- RCP (7)
- JavaScript (10)
- UML (1)
- 产品经理 (2)
- Velocity (10)
- C (1)
- 单元测试 (1)
- 设计模式 (2)
- 系统分析师 (2)
- 架构 (4)
- 面试 (2)
- 代码走查 (1)
- MongoDB (1)
- 企业流程优化 (1)
- 模式 (1)
- EJB (1)
- Jetty (1)
- Git (13)
- IPV6 (1)
- JQuery (8)
- SSH (1)
- mybatis (10)
- SiteMesh (2)
- JSTL (1)
- veloctiy (1)
- Spring MVC (1)
- struts2 (3)
- Servlet (1)
- 权限管理 (1)
- Java Mina (1)
- java 系统信息 (6)
- OSGi 基础 (3)
- html (1)
- spring--security (6)
- HTML5 (1)
- java爬虫搜索 (1)
- mvc (3)
最新评论
-
Tom.X:
http://osgia.com/
将web容器置于OSGi框架下进行web应用的开发 -
chenyuguxing:
你好, 为什么我的bundle export到felix工程中 ...
在Apache Felix中运行bundle -
string2020:
<niceManifest>true</ni ...
Bundle Plugin for Maven -
jsonmong:
OSGI,是未来的主流,目前已相当成熟。应用OSGI比较好的, ...
基于OSGi的声明式服务 -
zyhui98:
貌似是翻译过来的,有很少人在linux上做开发吧
如何成为“10倍效率”开发者
很多刚搞SWT的朋友都会遇到这样一个问题:
写的SWT在eclipse中可以运行,但是用命令行去执行就会报错。
今天就和大家一起彻底解决这个问题。
比如我们先写一个这样的小程序:
import org.eclipse.swt.SWT; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Shell; public class BasicSwt extends Shell { /** * Launch the application * @param args */ public static void main(String args[]) { try { Display display = Display.getDefault(); BasicSwt shell = new BasicSwt(display, SWT.SHELL_TRIM); shell.open(); shell.layout(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) display.sleep(); } } catch (Exception e) { e.printStackTrace(); } } /** * Create the shell * @param display * @param style */ public BasicSwt(Display display, int style) { super(display, style); createContents(); } /** * Create contents of the window */ protected void createContents() { setText("SWT Application"); setSize(500, 375); // } @Override protected void checkSubclass() { // Disable the check that prevents subclassing of SWT components } }
在eclipse中运行,ok,可以看到一个空白窗体。
运行CMD,到项目目录,运行java BasicSwt,结果报错了:
Exception in thread "main" java.lang.NoClassDefFoundError: org/eclipse/swt/widgets/Shell
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$000(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
为什么?
因为我们缺少运行SWT需要的类库和相关DLL链接库
首先我们先下载一个文件:
到http://download.eclipse.org/eclipse/downloads/drops/R-3.2.2-200702121330/
下载swt-3.2.2-win32-win32-x86.zip
解压缩,主要到里面的两个文件:
swt.jar
swt-win32-3236.dll
本例中,我们先把这两个文件放到H:\
然后把我们执行:java -classpath h:\swt.jar BasicSwt
这时候可以看到出错信息变了Exception in thread "main" java.lang.NoClassDefFoundError: BasicSwt
ok,再改,执行:java -classpath h:\swt.jar; -Djava.library.path=h:\ BasicSwt
ok,正常啦
稍微解释下-Djava.library.path=h:\
这里指定的是swt-win32-3236.dll存放的路径
上面的介绍比较适合程序发布和给客户使用的时候,那么我们自己开发的时候老是这么用也不方便,
下面我们彻底解决这个问题:
把
swt-awt-win32-3236.dll
swt-gdip-win32-3236.dll
swt-wgl-win32-3236.dll
swt-win32-3236.dll
全部拷贝到\Windows\System32下面
修改系统环境变量:
classpath=.;d:\JAVA6\lib\tools.jar;d:\JAVA6\lib\dt.jar;d:\JAVA6\bin;h:\swt.jar;
解释一下:
“.”是指当前目录
“d:\JAVA6\lib\tools.jar;d:\JAVA6\lib\dt.jar;d:\JAVA6\bin;”是为了JAVA6配置的
“h:\swt.jar;”是咱们SWT.JAR的路径
关掉CMD,重新打开,不然CMD不会重新加载环境变量。
到项目目录,运行java BasicSwt
ok,正常运行了,不用那么长的命令行了
发表评论
-
一个例子全部说明java泛型中的K,V,T,E,?,object的意思及其用法
2013-03-07 11:09 70491.意思 jdk中的K,V,T,E等泛型名称很多人以为 ... -
Log4j 把不同包的日志打印到不同位置
2012-11-29 08:23 1150需要的包和测试的代码下载附件! 如果需要将不同的日 ... -
Java多线程发展简史
2012-09-16 14:25 1037转自:http://www.raychase.ne ... -
Java编码易疏忽的十个问题
2012-09-06 08:52 914在Java编码中,我们容易 ... -
网络编程
2012-09-04 13:30 971计算机网络基础 什么是计算机网络 把分布在 ... -
获取Java程序运行的路径 | 获取当前jar包的路径
2012-09-04 11:55 14082经过试验,不管是否是 Jar 包,不管是否是 Tom ... -
java的concurrent用法详解
2012-08-03 11:28 1020我们都知道,在JDK1.5之前,Java中要进行业务并发时 ... -
Java程序员必知的8大排序
2012-07-05 09:56 10278 种排序之间的关系: ... -
Comparator与Comparable的区别
2012-07-05 08:38 1219当需要排序的集合或数组不是单纯的数字类型的时候,通常可以使用C ... -
RSA算法Java实现
2012-06-27 08:22 1416Java代码 package c ... -
队列阻塞浅析
2012-06-17 18:10 932这几天所做的项目中涉及到了队列阻塞机制,通过研究整理如下 ... -
Java面试过程中会遇到的问题
2012-06-13 13:04 11441、abstract的method是否可同时是static,是 ... -
【解惑】深入jar包:从jar包中读取资源文件
2012-06-13 13:02 1101我们常常在代码中读取一些资源文件(比如图片,音乐,文本等等)。 ... -
java 处理文件路径中的空格
2012-06-13 12:57 1539问题背景: windows下有个目录名称Program ... -
java内存分配机制
2012-06-13 12:52 1172通过这几天对一个 ... -
byte[]转化成其他数据类型
2012-05-14 16:41 1656Java与其他语言数据类型之间的转换方法实例程序 /*** ... -
java中byte转换int时为何与0xff进行与运算
2012-05-14 16:39 1071java中byte转换int时为何 ... -
java整型数与网络字节序的 byte[] 数组转换关系
2012-05-14 16:31 6460工作项目需要在 java 和 c/c++ 之间进行 ... -
利用 Base64 缩短 UUID 至22位
2012-04-15 18:57 7174UUID还是比较常用的,尤其在web应用里。 有时在UR ... -
图解Java中的值传递与引用传递(更新版)
2012-04-09 12:49 1179编程的人,都会遇到值传递与引用传递的困惑,不过很快都会迎 ...
相关推荐
SWT(Standard Widget ...总结,配置SWT运行环境涉及安装JDK、Eclipse,安装SWT插件,选择正确的SWT库,以及编写和运行SWT代码。通过熟悉这些步骤,你可以轻松地在Java项目中利用SWT构建功能丰富的图形用户界面。
swt linux环境运行jar包
SWT(Standard Widget Toolkit)是Eclipse项目提供的一种用于创建图形用户界面(GUI)的开源库,它在Java平台上提供了与本机系统更紧密的集成。然而,SWT应用程序可能会遇到内存泄露问题,这会导致程序运行缓慢,...
与Java Swing相比,SWT具有更好的性能和与操作系统更紧密的集成,使得开发者可以构建出与平台环境一致的外观和感觉的应用程序。 本学生管理系统主要运用了SWT中的Composite组件来构建界面布局。Composite是SWT中的...
swt运行时所需的dll文件,包括swt-awt-win32-3236.dll swt-gdip-win32-3236.dll swt-win32-3229.dll swt-win32-3236.dll
对于那些需要在多样化硬件环境中运行的Java应用,SWT提供了一个灵活且强大的解决方案。然而,值得注意的是,虽然SWT的性能出色,但它并不像Swing那样支持完全的跨平台性,某些特定的平台功能可能需要特定版本的SWT来...
本文将详细介绍如何解决SWT原生库找不到的问题,帮助开发者顺利搭建SWT项目环境。 #### 搭建SWT项目环境 ##### 1. 使用向导建立SWT/JFace Java项目 首先,我们需要通过Eclipse集成开发环境(IDE)中的向导功能来...
64位版本的SWT是为了在64位Java运行时环境中运行而编译的,这意味着它可以充分利用64位系统的优势,如更大的内存地址空间和更快的计算能力。SWT库通常以jar文件的形式分发,就像压缩包中的“swt-64.jar”一样。...
综上所述,JAVA SWT学生信息管理系统结合了Java的面向对象特性、SWT的原生界面交互以及数据库的强大存储能力,提供了一套完整的、易用的学生信息管理解决方案。这个系统充分体现了Java在桌面应用开发中的灵活性和...
2. **设置环境**:有三种方式设置原生库文件路径,一是将DLL文件复制到JRE的bin目录下,二是修改PATH环境变量,三是直接在Eclipse项目中导入原生库文件。 3. **配置构建路径**:在Eclipse项目中,需要将SWT库的JAR...
标题中的"swt2.rar"多次出现,暗示这可能是一个关于软件开发或编程技术的压缩文件,特别是与SWT(Standard Widget Toolkit)相关的。SWT是Eclipse项目的一部分,是一个用于构建Java GUI应用程序的开源库,它提供了与...
SWT(Standard Widget Toolkit)是Eclipse项目的一个重要组成部分,它提供了一套用于构建图形用户界面(GUI)的API,与Java Swing不同,SWT基于操作系统原生的UI组件,因此能够实现更好的性能和与操作系统的集成。...
《图书馆管理系统SWT源码详解》 在信息技术领域,开发高效、用户友好的管理软件是提升工作效率的关键。本文将深入探讨一个特别的案例——“图书馆管理系统”,该系统采用SWT(Standard Widget Toolkit)进行设计,...
在这个“SWT写的住院管理系统”中,开发者利用SWT来构建一个能够管理和处理住院患者信息的系统,且与SQL数据库进行了集成,这使得数据的存储和查询变得更加高效和可靠。 首先,SWT的优势在于它的原生性能。因为它...
**SWT 插件包(Windows 环境)** SWT,全称为Standard Widget Toolkit,是Java编程语言中用于创建图形用户界面(GUI)的一个开源库。它由Eclipse基金会维护,主要用于Eclipse集成开发环境(IDE)以及其他Java应用...
【Java SWT 飞机票订购系统】是一种基于Java编程语言,使用SWT(Standard Widget Toolkit)库构建的桌面应用程序。SWT是Java社区为提供更高效、原生UI(用户界面)组件而开发的一个开源库,它允许开发者创建与操作...
"SWT住院管理系统"是一款基于SWT技术和SQL数据库设计的医疗信息化解决方案,旨在优化医院的住院服务流程,提高医疗服务效率。SWT,全称为Standard Widget Toolkit,是Eclipse基金会提供的一种用于构建桌面应用程序的...
【住院管理系统】是一种基于C/S(Client/Server)模式的软件应用,主要用于医疗机构对住院病人的信息进行管理和跟踪。在C/S模式下,客户端(Client)作为用户界面,提供友好的交互方式,而服务器端(Server)则负责...
《基于SWT的汽车管理系统详解》 在信息技术领域,汽车管理系统的开发是一项常见的任务,它旨在帮助汽车销售、维修和保养等业务实现信息化管理。本文将深入探讨一个基于SWT(Standard Widget Toolkit)的汽车管理...