- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我遇到了一个我理解的问题,但我不知道如何解决它。我的项目中有一个类,其中包含带有图像或声音的静态字段,这样我就可以在任何地方使用它们,而无需每次都重新创建变量。供引用的字段之一(它们都是相同的):
public static ImageIcon mainMenuBg = new ImageIcon(Resources.class.getResource("img/menubg.png"));
现在我的问题是,当我运行它时,它在 Eclipse 中工作正常,但是当我将项目导出到可运行的 JAR 时,没有任何反应。然后我进入命令窗口并从那里运行它,由于我的图像,我遇到了 ExceptionInInitializerError 。基本上,运行时没有识别任何图像,因此如果我删除每个图像调用,它就可以工作。
此外,值得注意的是,导出时,Main
类列表并未真正更新。如果我更改项目的主要名称,它不会添加到列表中。这可能是我的主要类(class)的问题吗?如果是这样,我该如何解决这个问题?我已经尝试重新创建它,但没有任何改变。有人可以告诉我这个问题吗?
这是打印堆栈跟踪:
Exception in thread "AWT-EventQueue-0" java.lang.ExceptionInInitializerError
at Client.<init>(Client.java:53)
at Client$1.run(Client.java:37)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$400(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.lang.NullPointerException
at javax.swing.ImageIcon.<init>(Unknown Source)
at Ressources.<clinit>(Ressources.java:41)
... 16 more
所指向的行是我尝试从资源类加载图像的行。
此外,我的所有类都位于同一个包中,即默认包中。
最后,这是“jar tvf ...”命令的结果:
153 Tue Jan 13 21:43:36 CET 2015 META-INF/MANIFEST.MF
0 Tue Jan 13 21:43:36 CET 2015 org/
0 Tue Jan 13 21:43:36 CET 2015 org/eclipse/
0 Tue Jan 13 21:43:36 CET 2015 org/eclipse/jdt/
0 Tue Jan 13 21:43:36 CET 2015 org/eclipse/jdt/internal/
0 Tue Jan 13 21:43:36 CET 2015 org/eclipse/jdt/internal/jarinjarloader/
978 Tue Jan 13 21:43:36 CET 2015 org/eclipse/jdt/internal/jarinjarloader/JIJC
onstants.class
714 Tue Jan 13 21:43:36 CET 2015 org/eclipse/jdt/internal/jarinjarloader/JarR
srcLoader$ManifestInfo.class
4735 Tue Jan 13 21:43:36 CET 2015 org/eclipse/jdt/internal/jarinjarloader/JarR
srcLoader.class
1505 Tue Jan 13 21:43:36 CET 2015 org/eclipse/jdt/internal/jarinjarloader/Rsrc
URLConnection.class
1841 Tue Jan 13 21:43:36 CET 2015 org/eclipse/jdt/internal/jarinjarloader/Rsrc
URLStreamHandler.class
1149 Tue Jan 13 21:43:36 CET 2015 org/eclipse/jdt/internal/jarinjarloader/Rsrc
URLStreamHandlerFactory.class
1495 Tue Jan 13 21:43:06 CET 2015 ChatPrive$1.class
1792 Tue Jan 13 21:43:06 CET 2015 ChatPrive$2.class
1596 Tue Jan 13 21:43:06 CET 2015 ChatPrive$3.class
1897 Tue Jan 13 21:43:06 CET 2015 ChatPrive$4.class
1553 Tue Jan 13 21:43:06 CET 2015 ChatPrive$5.class
7565 Tue Jan 13 21:43:06 CET 2015 ChatPrive.class
2680 Tue Jan 13 21:43:06 CET 2015 Tour.class
9003 Tue Jan 13 21:43:06 CET 2015 Move.class
2622 Tue Jan 13 21:43:06 CET 2015 InfosPartie.class
1448 Tue Jan 13 21:43:06 CET 2015 Message.class
3262 Tue Jan 13 21:43:06 CET 2015 Roi.class
1464 Tue Jan 13 21:43:06 CET 2015 Case.class
987 Tue Jan 13 21:43:06 CET 2015 JoueurIA.class
750 Tue Jan 13 21:43:06 CET 2015 MenuCopie$1.class
1307 Tue Jan 13 21:43:06 CET 2015 MenuCopie$2.class
2992 Tue Jan 13 21:43:06 CET 2015 MenuCopie.class
7882 Tue Jan 13 21:43:06 CET 2015 ReceptionClient.class
1138 Tue Jan 13 21:43:06 CET 2015 Chat$1.class
851 Tue Jan 13 21:43:06 CET 2015 Chat$2.class
3835 Tue Jan 13 21:43:06 CET 2015 Chat.class
2263 Tue Jan 13 21:43:06 CET 2015 Fou.class
832 Tue Jan 13 21:43:06 CET 2015 MenuPromotion$1.class
2081 Tue Jan 13 21:43:06 CET 2015 MenuPromotion$2.class
1401 Tue Jan 13 21:43:06 CET 2015 MenuPromotion$3.class
1216 Tue Jan 13 21:43:06 CET 2015 MenuPromotion$4.class
1216 Tue Jan 13 21:43:06 CET 2015 MenuPromotion$5.class
1216 Tue Jan 13 21:43:06 CET 2015 MenuPromotion$6.class
4231 Tue Jan 13 21:43:06 CET 2015 MenuPromotion.class
1501 Tue Jan 13 21:43:06 CET 2015 Jeu$1.class
825 Tue Jan 13 21:43:06 CET 2015 Jeu$2.class
10677 Tue Jan 13 21:43:06 CET 2015 Jeu.class
1457 Tue Jan 13 21:43:06 CET 2015 ChatAll$1.class
1570 Tue Jan 13 21:43:06 CET 2015 ChatAll$2.class
1344 Tue Jan 13 21:43:06 CET 2015 ChatAll$3.class
1914 Tue Jan 13 21:43:06 CET 2015 ChatAll$4.class
1527 Tue Jan 13 21:43:06 CET 2015 ChatAll$5.class
9326 Tue Jan 13 21:43:06 CET 2015 ChatAll.class
1135 Tue Jan 13 21:43:06 CET 2015 PanelInfo$1.class
1337 Tue Jan 13 21:43:06 CET 2015 PanelInfo$10.class
1164 Tue Jan 13 21:43:06 CET 2015 PanelInfo$11.class
963 Tue Jan 13 21:43:06 CET 2015 PanelInfo$12.class
1335 Tue Jan 13 21:43:06 CET 2015 PanelInfo$13.class
963 Tue Jan 13 21:43:06 CET 2015 PanelInfo$14.class
830 Tue Jan 13 21:43:06 CET 2015 PanelInfo$15.class
829 Tue Jan 13 21:43:06 CET 2015 PanelInfo$16.class
1435 Tue Jan 13 21:43:06 CET 2015 PanelInfo$2.class
576 Tue Jan 13 21:43:06 CET 2015 PanelInfo$3.class
1748 Tue Jan 13 21:43:06 CET 2015 PanelInfo$4.class
1356 Tue Jan 13 21:43:06 CET 2015 PanelInfo$5.class
1552 Tue Jan 13 21:43:06 CET 2015 PanelInfo$6.class
1556 Tue Jan 13 21:43:06 CET 2015 PanelInfo$7.class
945 Tue Jan 13 21:43:06 CET 2015 PanelInfo$8.class
1437 Tue Jan 13 21:43:06 CET 2015 PanelInfo$9.class
16765 Tue Jan 13 21:43:06 CET 2015 PanelInfo.class
1176 Tue Jan 13 21:43:06 CET 2015 MenuUtilisateurs$1.class
1173 Tue Jan 13 21:43:06 CET 2015 MenuUtilisateurs$2.class
1753 Tue Jan 13 21:43:06 CET 2015 MenuUtilisateurs$3.class
2228 Tue Jan 13 21:43:06 CET 2015 MenuUtilisateurs$4.class
2071 Tue Jan 13 21:43:06 CET 2015 MenuUtilisateurs.class
3996 Tue Jan 13 21:43:06 CET 2015 Piece.class
3830 Tue Jan 13 21:43:06 CET 2015 PartieSolo.class
3300 Tue Jan 13 21:43:06 CET 2015 ConnexionClient.class
1160 Tue Jan 13 21:43:06 CET 2015 EchecGUI$1.class
8154 Tue Jan 13 21:43:06 CET 2015 EchecGUI.class
6844 Tue Jan 13 21:43:06 CET 2015 Joueur.class
677 Tue Jan 13 21:43:06 CET 2015 Client$1.class
834 Tue Jan 13 21:43:06 CET 2015 Client$2.class
2718 Tue Jan 13 21:43:06 CET 2015 Client$3.class
1041 Tue Jan 13 21:43:06 CET 2015 Client$4.class
1008 Tue Jan 13 21:43:06 CET 2015 Client$5.class
983 Tue Jan 13 21:43:06 CET 2015 Client$6.class
1096 Tue Jan 13 21:43:06 CET 2015 Client$7.class
4611 Tue Jan 13 21:43:06 CET 2015 Client.class
2783 Tue Jan 13 21:43:06 CET 2015 Pion.class
663 Tue Jan 13 21:43:06 CET 2015 JoueurReel.class
1620 Tue Jan 13 21:43:06 CET 2015 MessagePrive.class
6302 Tue Jan 13 21:43:06 CET 2015 PartieEnLigne.class
1911 Tue Jan 13 21:43:06 CET 2015 Cheval.class
6817 Tue Jan 13 21:43:06 CET 2015 Ressources.class
1235 Tue Jan 13 21:43:06 CET 2015 NotificationMessage$1.class
1348 Tue Jan 13 21:43:06 CET 2015 NotificationMessage.class
3835 Tue Jan 13 21:43:06 CET 2015 PartieAmi.class
1355 Tue Jan 13 21:43:06 CET 2015 EmissionClient.class
2999 Tue Jan 13 21:43:06 CET 2015 Reine.class
0 Tue Jan 13 20:55:48 CET 2015 img/
945 Sun Jan 11 19:40:24 CET 2015 img/attaque.png
196863 Fri Jan 09 22:59:04 CET 2015 img/board.png
595046 Sun Jan 11 22:04:40 CET 2015 img/board1.png
631303 Sat Jan 10 00:14:04 CET 2015 img/board2.png
440 Sun Jan 11 22:32:28 CET 2015 img/boutonchat.png
413 Sun Jan 11 22:32:46 CET 2015 img/boutonchatsel.png
735 Sun Jan 11 21:53:46 CET 2015 img/boutonrecommencer.png
793 Sun Jan 11 21:54:52 CET 2015 img/boutonrecommencersel.png
258 Wed Dec 24 17:28:54 CET 2014 img/caseCible.png
224 Sat Jan 10 18:23:04 CET 2015 img/casePleinePoss.png
1100 Sat Jan 10 18:14:06 CET 2015 img/caseSelectionnee.png
224 Sat Jan 10 18:14:30 CET 2015 img/caseVidePoss.png
5962 Wed Dec 24 17:28:54 CET 2014 img/chevalblanc.png
1203 Mon Jan 12 21:37:44 CET 2015 img/chevalblancmort.png
1106 Sun Jan 11 00:40:14 CET 2015 img/chevalblancpromo.png
5720 Wed Dec 24 17:28:54 CET 2014 img/chevalnoir.png
1214 Mon Jan 12 21:37:44 CET 2015 img/chevalnoirmort.png
1119 Sun Jan 11 00:40:50 CET 2015 img/chevalnoirpromo.png
8080 Mon Jan 12 20:44:20 CET 2015 img/echec.png
29956 Mon Jan 12 00:08:06 CET 2015 img/ecranpause.png
3736 Thu Jan 08 00:14:42 CET 2015 img/fondlabel.png
5783 Sun Jan 11 19:04:14 CET 2015 img/fondlabelblanc.png
6968 Sun Jan 11 19:04:18 CET 2015 img/fondlabelnoir.png
5327 Sun Jan 11 22:22:52 CET 2015 img/footer.png
4087 Wed Dec 24 17:28:54 CET 2014 img/foublanc.png
1024 Mon Jan 12 21:37:46 CET 2015 img/foublancmort.png
887 Sun Jan 11 00:43:04 CET 2015 img/foublancpromo.png
3987 Wed Dec 24 17:28:54 CET 2014 img/founoir.png
1010 Mon Jan 12 21:37:48 CET 2015 img/founoirmort.png
864 Sun Jan 11 00:43:24 CET 2015 img/founoirpromo.png
10904 Sun Jan 11 01:19:48 CET 2015 img/historique.png
260917 Tue Jan 13 20:55:48 CET 2015 img/menubg.png
127477 Tue Jan 13 19:30:36 CET 2015 img/panelinfobg.png
270 Sun Jan 11 22:13:34 CET 2015 img/pause.png
256 Sun Jan 11 22:13:48 CET 2015 img/pausesel.png
3817 Mon Jan 12 01:41:14 CET 2015 img/pionblanc.png
979 Mon Jan 12 21:37:50 CET 2015 img/pionblancmort.png
3813 Thu Jan 08 00:39:10 CET 2015 img/pionnoir.png
992 Mon Jan 12 21:37:42 CET 2015 img/pionnoirmort.png
379 Sun Jan 11 23:00:42 CET 2015 img/play.png
377 Sun Jan 11 23:00:28 CET 2015 img/playsel.png
37986 Mon Jan 12 01:17:54 CET 2015 img/promobg.png
449 Sun Jan 11 22:58:14 CET 2015 img/redo.png
439 Sun Jan 11 22:58:32 CET 2015 img/redosel.png
5292 Wed Dec 24 17:28:54 CET 2014 img/reineblanc.png
1245 Mon Jan 12 21:37:54 CET 2015 img/reineblancmort.png
1140 Sun Jan 11 00:41:18 CET 2015 img/reineblancpromo.png
5185 Wed Dec 24 17:28:54 CET 2014 img/reinenoir.png
1222 Mon Jan 12 22:24:28 CET 2015 img/reinenoirmort.png
1115 Sun Jan 11 00:41:40 CET 2015 img/reinenoirpromo.png
5809 Mon Jan 12 00:11:32 CET 2015 img/reprendreBtn.png
4946 Mon Jan 12 00:12:56 CET 2015 img/reprendreBtnsel.png
5889 Wed Dec 24 17:28:54 CET 2014 img/roiblanc.png
5717 Wed Dec 24 17:28:54 CET 2014 img/roinoir.png
2152 Sun Jan 11 00:57:20 CET 2015 img/roque.png
2144 Sun Jan 11 19:26:50 CET 2015 img/roqueblanc.png
2099 Sun Jan 11 19:26:16 CET 2015 img/roquenoir.png
529 Mon Jan 12 21:58:58 CET 2015 img/sonoff.png
503 Mon Jan 12 21:59:24 CET 2015 img/sonoffsel.png
686 Mon Jan 12 21:59:36 CET 2015 img/sonon.png
623 Mon Jan 12 21:59:52 CET 2015 img/sononsel.png
395 Sun Jan 11 22:43:30 CET 2015 img/surrender.png
357 Sun Jan 11 22:43:46 CET 2015 img/surrendersel.png
849 Mon Jan 12 19:40:22 CET 2015 img/tooltip.png
4564 Wed Dec 24 17:28:54 CET 2014 img/tourblanc.png
1146 Mon Jan 12 21:38:00 CET 2015 img/tourblancmort.png
1008 Sun Jan 11 00:42:16 CET 2015 img/tourblancpromo.png
4528 Wed Dec 24 17:28:54 CET 2014 img/tournoir.png
1135 Mon Jan 12 21:38:04 CET 2015 img/tournoirmort.png
986 Sun Jan 11 00:42:42 CET 2015 img/tournoirpromo.png
453 Sun Jan 11 22:57:06 CET 2015 img/undo.png
441 Sun Jan 11 22:56:48 CET 2015 img/undosel.png
1326 Mon Jan 12 01:13:52 CET 2015 img/valider.png
1393 Mon Jan 12 01:19:40 CET 2015 img/validersel.png
0 Tue Jan 13 18:50:36 CET 2015 snd/
2248748 Mon Jan 12 23:35:38 CET 2015 snd/ambiancefeu.wav
77868 Mon Jan 12 23:32:06 CET 2015 snd/attaque.wav
25988 Tue Jan 13 00:08:06 CET 2015 snd/boutonclic.wav
397356 Mon Jan 12 21:02:50 CET 2015 snd/echec.wav
43342 Sun Jan 11 23:59:36 CET 2015 snd/hover.wav
319532 Wed Jan 07 00:43:04 CET 2015 snd/message.wav
108464 Mon Jan 12 23:45:02 CET 2015 snd/played.wav
606552 Tue Jan 13 18:50:36 CET 2015 snd/promotion.wav
112156 Sat Jan 10 19:06:50 CET 2015 snd/select.wav
最佳答案
在深入研究文档后,我认为问题可能是您使用的是相对路径而不是绝对路径,如下所述:
所以请尝试:
ImageIcon mainMenuBg = new ImageIcon(Resources.class.getResource("/img/menubg.png"));
关于java - 可运行的 jar (ExceptionInInitializerError),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27930769/
我正在编写一个具有以下签名的 Java 方法。 void Logger(Method method, Object[] args); 如果一个方法(例如 ABC() )调用此方法 Logger,它应该
我是 Java 新手。 我的问题是我的 Java 程序找不到我试图用作的图像文件一个 JButton。 (目前这段代码什么也没做,因为我只是得到了想要的外观第一的)。这是我的主课 代码: packag
好的,今天我在接受采访,我已经编写 Java 代码多年了。采访中说“Java 垃圾收集是一个棘手的问题,我有几个 friend 一直在努力弄清楚。你在这方面做得怎么样?”。她是想骗我吗?还是我的一生都
我的 friend 给了我一个谜语让我解开。它是这样的: There are 100 people. Each one of them, in his turn, does the following
如果我将使用 Java 5 代码的应用程序编译成字节码,生成的 .class 文件是否能够在 Java 1.4 下运行? 如果后者可以工作并且我正在尝试在我的 Java 1.4 应用程序中使用 Jav
有关于why Java doesn't support unsigned types的问题以及一些关于处理无符号类型的问题。我做了一些搜索,似乎 Scala 也不支持无符号数据类型。限制是Java和S
我只是想知道在一个 java 版本中生成的字节码是否可以在其他 java 版本上运行 最佳答案 通常,字节码无需修改即可在 较新 版本的 Java 上运行。它不会在旧版本上运行,除非您使用特殊参数 (
我有一个关于在命令提示符下执行 java 程序的基本问题。 在某些机器上我们需要指定 -cp 。 (类路径)同时执行java程序 (test为java文件名与.class文件存在于同一目录下) jav
我已经阅读 StackOverflow 有一段时间了,现在我才鼓起勇气提出问题。我今年 20 岁,目前在我的家乡(罗马尼亚克卢日-纳波卡)就读 IT 大学。足以介绍:D。 基本上,我有一家提供簿记应用
我有 public JSONObject parseXML(String xml) { JSONObject jsonObject = XML.toJSONObject(xml); r
我已经在 Java 中实现了带有动态类型的简单解释语言。不幸的是我遇到了以下问题。测试时如下代码: def main() { def ks = Map[[1, 2]].keySet()
一直提示输入 1 到 10 的数字 - 结果应将 st、rd、th 和 nd 添加到数字中。编写一个程序,提示用户输入 1 到 10 之间的任意整数,然后以序数形式显示该整数并附加后缀。 public
我有这个 DownloadFile.java 并按预期下载该文件: import java.io.*; import java.net.URL; public class DownloadFile {
我想在 GUI 上添加延迟。我放置了 2 个 for 循环,然后重新绘制了一个标签,但这 2 个 for 循环一个接一个地执行,并且标签被重新绘制到最后一个。 我能做什么? for(int i=0;
我正在对对象 Student 的列表项进行一些测试,但是我更喜欢在 java 类对象中创建硬编码列表,然后从那里提取数据,而不是连接到数据库并在结果集中选择记录。然而,自从我这样做以来已经很长时间了,
我知道对象创建分为三个部分: 声明 实例化 初始化 classA{} classB extends classA{} classA obj = new classB(1,1); 实例化 它必须使用
我有兴趣使用 GPRS 构建车辆跟踪系统。但是,我有一些问题要问以前做过此操作的人: GPRS 是最好的技术吗?人们意识到任何问题吗? 我计划使用 Java/Java EE - 有更好的技术吗? 如果
我可以通过递归方法反转数组,例如:数组={1,2,3,4,5} 数组结果={5,4,3,2,1}但我的结果是相同的数组,我不知道为什么,请帮助我。 public class Recursion { p
有这样的标准方式吗? 包括 Java源代码-测试代码- Ant 或 Maven联合单元持续集成(可能是巡航控制)ClearCase 版本控制工具部署到应用服务器 最后我希望有一个自动构建和集成环境。
我什至不知道这是否可能,我非常怀疑它是否可能,但如果可以,您能告诉我怎么做吗?我只是想知道如何从打印机打印一些文本。 有什么想法吗? 最佳答案 这里有更简单的事情。 import javax.swin
我是一名优秀的程序员,十分优秀!