java -jar 执行 eclipse export 的 jar 包报错处理
1. 错误1:打 jar 包执行,报错,找不到 类库的 jar 包
F:\>java -jar remoteLogin.jar
Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: com/alibaba/fastjson/JSON
at com.diantusoft.LoginWindow.getFingerPrintFromDB(LoginWindow.java:819)
at com.diantusoft.LoginWindow.login(LoginWindow.java:630)
at com.diantusoft.LoginWindow.access$8(LoginWindow.java:577)
at com.diantusoft.LoginWindow$13.mouseClicked(LoginWindow.java:509)
at java.awt.Component.processMouseEvent(Component.java:6528)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
at java.awt.Component.processEvent(Component.java:6290)
at java.awt.Container.processEvent(Container.java:2234)
at java.awt.Component.dispatchEventImpl(Component.java:4881)
at java.awt.Container.dispatchEventImpl(Container.java:2292)
at java.awt.Component.dispatchEvent(Component.java:4703)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4898)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4542)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4462)
at java.awt.Container.dispatchEventImpl(Container.java:2278)
at java.awt.Window.dispatchEventImpl(Window.java:2750)
at java.awt.Component.dispatchEvent(Component.java:4703)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:751)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:702)
at java.awt.EventQueue$3.run(EventQueue.java:696)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.awt.EventQueue$4.run(EventQueue.java:724)
at java.awt.EventQueue$4.run(EventQueue.java:722)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:721)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
Caused by: java.lang.ClassNotFoundException: com.alibaba.fastjson.JSON
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
解决方法:Use Export -> Java -> Runnable JAR File instead Export -> Java -> JAR File on your project (right mouse click).
2. 错误2: Could not find main method from given launch configuration
原因:选错了 launch configuration,自然就找不到 main方法,选择时要选择那个包括 main 方法的 类作为 launch
3. 错误3:
public static ImageIcon getPicture2(String name) {
ImageIcon icon = new ImageIcon(PictureUtil.class.getClassLoader()
.getResource("com/diantusoft/image/" + name));
return icon;
}
如下代码,eclipse export 导出 jar 包之后,执行 无法找到路径:
因为路径变成了如下的形式:file:/F:/remoteLogin.jar!/com/diantusoft/image/login_button.png
所以 java -jar remoteLogin.jar 执行时,是如法找到图片的。
解决方法:
private static PictureUtil instance = new PictureUtil(); private PictureUtil(){} public static PictureUtil getInstance(){
return instance;
} public ImageIcon getPicture(String name){
URL url = this.getClass().getResource(name); if(url != null){
return new ImageIcon(url);
}
}
也就是使用 this.getClass().getResource() 来获取图片,就不会发生因路径变化找不到图片的问题。
java -jar 执行 eclipse export 的 jar 包报错处理的更多相关文章
- 在执行Java命令或eclipse启动程序,提示报错’jvm.cfg无法找到’的解决办法
一.问题背景 昨天debug代码的时候,突然发现无法启动程序了.每次启动程序的时候均报如下错误:(回家以后重现了下这个问题.发现不同电脑,所在的lib下的文件夹不一样,应该和jdk安装时硬件的情况有关 ...
- eclipse export runnable jar(导出可执行jar包)
eclipse export runnable jar(导出可执行jar包) runnable jar可以执行的 如果要导出可运行的JAR文件,需要选择Runnable Jar File. 1. 选择 ...
- eclipse export Android jar with jni
/*********************************************************************** * eclipse export Android ja ...
- gradle打成jar包报错 "错误: 找不到或无法加载主类 App"(已经配置过主类)
文章目录 将gradle打成jar包(包括依赖) 运行jar包 报错 原因(src自己手动创建的) 解决(添加src目录) 将gradle打成jar包(包括依赖) jar { manifest { a ...
- 关于Spring运用过程中jar包报错问题
使用Spring进行web开发时,第一步就是导入jar包,今天使用SPring Task开发定时器时,导入了好多次jar包,都是报错,不知道是因为jar包版本不同还是因为需要依赖的jar包没加入,反正 ...
- Eclipse中引入com.sun.image.codec.jpeg包报错的完美解决办法
转: Eclipse中引入com.sun.image.codec.jpeg包报错的完美解决办法 更新时间:2018年02月14日 17:13:03 投稿:wdc 我要评论 Java开发中 ...
- Eclipse配置tomcat8.5.7报错:The Apache Tomcat installation at this directory is version 8.5.27. A Tomcat 8.0 installation is...
Eclipse配置tomcat8.5.7报错:The Apache Tomcat installation at this directory is version 8.5.27. A Tomcat ...
- maven 导包报错
作为初学者本应当是持之以恒的但是很长时间没有冒泡了这次冒个泡写maven项目的时候遇到了很多的bug,今天给大家分享一下解决的办法(常见的错误就是导不进来自己想要的包)要么就是导包报错以下是解决方法 ...
- eclispe集成Scalas环境后,导入外部Spark包报错:object apache is not a member of package org
在Eclipse中集成scala环境后,发现导入的Spark包报错,提示是:object apache is not a member of package org,网上说了一大推,其实问题很简单: ...
随机推荐
- [范例] Firemonkey 弹簧动画
弹簧动画效果: 不用写任何代码,只需设定下面动画属性: 参考动画曲线: http://monkeystyler.com/guide/Interpolation-and-AnimationType-Il ...
- Spring注解@Value的用法
有时候我们在配置文件中使用配置的信息不仅需要在xml文件中使用,还可能在类中使用,这个时候,我们可使用@Value注解了: @Value("${rest.service.url}" ...
- Scalaz(4)- typeclass:标准类型-Equal,Order,Show,Enum
Scalaz是由一堆的typeclass组成.每一个typeclass具备自己特殊的功能.用户可以通过随意多态(ad-hoc polymorphism)把这些功能施用在自己定义的类型上.scala这个 ...
- Java集合源码分析(六)TreeSet<E>
TreeSet简介 TreeSet 是一个有序的集合,它的作用是提供有序的Set集合.它继承于AbstractSet抽象类,实现了NavigableSet<E>, Cloneable, j ...
- Visual C++中的一些编程小技巧
在应用程序的任意地方实现窗体的最大化.最小化.正常窗口等功能 // 设置Windows窗体的状态void CMinWindowsDlg::SetWindowState(int nWindowSize) ...
- java RSA加解密以及用途
在公司当前版本的中间件通信框架中,为了防止非授权第三方和到期客户端的连接,我们通过AES和RSA两种方式的加解密策略进行认证.对于非对称RSA加解密,因为其性能耗费较大,一般仅用于认证连接,不会用于每 ...
- easyui日期在未加载easyui-lang-zh_CN.js出现英文的情况下加载中文的方法
我们有时候在操作easyui的时候本来是加载了easyui-lang-zh_CN.js中文文件包,但是还是出现了英文.使得我们不得埋怨这框架咋这么不好用,其实我们仔细看看这个中文包就会发现里面很多都是 ...
- MS14-064 漏洞测试入侵win7
Microsoft Windows OLE远程代码执行漏洞,OLE(对象链接与嵌入)是一种允许应用程序共享数据和功能的技术, 远程攻击者利用此漏洞通过构造的网站执行任意代码,影响Win95+IE3 – ...
- NSURLSession从网络上下载资源,此程序下载的是视频
#import "ViewController.h" @interface ViewController ()<NSURLSessionDelegate, NSURLSess ...
- UITableViewController和延时执行、自定义控件
1.在UITableViewController中,self.view就是self.tableView, 两个对象的指针地址是一样的 2.自定义类继承UITableViewCell, 重写父类方法 / ...