上个月我一直在开发 Java Applet 游戏,现在我正试图将其嵌入 HTML 页面。尽管已经在下一个代码之后签署了我的 .jar,但我每次都收到NullPointerException :
keytool -genkey -keystore myKeyStore -alias me
keytool -selfcert -keystore myKeyStore -alias me
jarsigner -keystore myKeyStore Franky.jar me
一旦我尝试在我目前正在工作的页面上运行它:http: //zeytpruebas.prosopin.com/index.html似乎我的 .jar 仍然未签名/作者未知。我的游戏通过 Eclipse IDE 运行无错误,我的嵌入代码也无错误,因为我使用一个简单的 HelloWorld 小程序对其进行了测试。
否则,有我的嵌入代码:
<applet code="franky_BF38/Principal.class" archive="Franky.jar" width="800" height="480"></applet>
另一方面,我的 .jar 看起来像这样:
音频(文件夹)
· franky_theme.au
图片(文件夹)
· 1.jpg
· 2.jpg
级别(文件夹)
· map1.txt
· map2.txt
franky_BF38(类文件夹)
· Principal.class(也就是主类)
· 敌人.class
· Player.class (...)
META-INF(文件夹)
· 清单.MF
·ME.DSA
· ME.SF
我查看了所有小程序线程,但没有任何响应对我有用。如果您需要任何代码或档案,请随时询问。任何帮助将不胜感激。
编辑:在我的页面上添加了 Java 控制台的线程转储(由于长扩展):转储
编辑 02/05/2013:关于 _constructor 的警告没有初始化字段 [imagen_actual,fondo,franky_salto...]_ 我在 Principal 类下面有以下代码:
private Image imagen, franky, franky_agachado, franky_salto, fondo,
imagen_actual, pacifista;
public static Image tilegrassTop, tilegrassBot, tilegrassLeft,
tilegrassRight, tiledirt, tileocean;
private Graphics graficos;
private URL direccion;
AudioClip disparo, tema;
然后我将 valors 直接分配给 init() 方法中的这些变量,如下所示(无初始化):
try {
direccion = getDocumentBase();
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
franky = getImage(direccion, "imagenes/franky_estatico.png");
franky_agachado = getImage(direccion, "imagenes/franky_sentado.png");
franky_salto = getImage(direccion, "imagenes/franky_salto.png");
imagen_actual = franky;
pacifista = getImage(direccion, "imagenes/pacifista1.png");
fondo = getImage(direccion, "imagenes/background.png");
tiledirt = getImage(direccion, "imagenes/tiledirt.png");
tilegrassTop = getImage(direccion, "imagenes/tilegrasstop.png");
tilegrassBot = getImage(direccion, "imagenes/tilegrassbot.png");
tilegrassLeft = getImage(direccion, "imagenes/tilegrassleft.png");
tilegrassRight = getImage(direccion, "imagenes/tilegrassright.png");
disparo = getAudioClip(getCodeBase(), "audio/miss.au");
tema = getAudioClip(getCodeBase(), "audio/franky_theme.au");
如前所述,代码在 Eclipse 中运行时没有错误,但 Checker Framework 对此提出了建议。