2013-01-13 50 views
3

我已经做了一个Java Swing GUI,并试图把它放到一个网站上,我把我的HTML文件放在lwjgl_jar文件夹中,并解决my previous problem关于无法找到AppletLoader,但我现在得到一个新的错误:签署我的Jar文件

Permissions for Applet Refused. Please accept the permissions dialogue to allow the applet to continue the loading process. 

告诉Java“运行这个时间”后出现错误。所以我在网上搜索,发现我的问题的解决方案是我的jar文件没有被签名,这是奇怪的,因为我使用Slick和lwjgl文件,我认为它应该已经签名,但是我的racegame.jar持有我的小应用程序可能需要签约,所以我也跟着this guide to signing jars

,并到了最后一步,键入:jarsigner -keystore myKeystore racegame.jar myself 让我签字racegame.jar但它说:

jarsigner: unable to open jar file: racegame.jar 

也会出现此错误与任何其他jar我尝试使用它。

为什么不打开jar文件并签名?所有其他步骤都按照他们在指南中所显示的那样进行了跟踪和测试。

+0

http://docs.oracle.com/javase/1.4.2/docs/tooldocs/windows/jarsigner.html与此相比较。 – vels4j

+0

请看看这个[文档](http://gagandeepbali.uk.to/gaganisonline/swing/downloads/signJARfiles.txt),可能它有些东西可以帮助你。虽然链接只有在我的电脑正在运行时才会激活(ON STATE)。 –

+0

谢谢Gagandeep,你的回答帮助我解决了我的问题,请回答我的问题,以便我可以选择你的答案。 –

回答

1

我曾经在网上发现过有关How to sign the JAR Files的这篇文章,这可能会有一些内容,它可以帮助你。请看看:

Sign All Applet JAR files 

Applets are back! And now applets can do more than ever before thanks to 
signed JAR files. By signing your JARs, you can get access to the filesystem 
and other resources that were previously off-limits, provided the user 
grants your applet those privileges. And signing JAR files is now very easy 
thanks to tools bundled with the JDK. However, be certain to sign all JAR files 
used by your Java applet. If you sign the JAR file with your main applet class, 
your applet will launch. If it later uses classes from another JAR file, though, 
you can run into trouble. If the newly-loaded class tries a restricted operation 
and its JAR file isn't signed, your applet will fail at that point with a 
security exception. Rather than waiting for this and debugging it when it occurs, 
save yourself the trouble and sign all of your JAR files up front. 

You can create your own certificate using tools provided by the JDK. 
keytool -genkey -alias mykey lets you create your own certificate. Be sure to 
specify an expiration date far in the future with -validity 1000. The default is 
only 6 months. 

Sign your JAR files with jarsigner my.jar mykey (where my.jar is the name of 
the jar file to sign). 

Deploy all of your JAR files to a folder on your web server, add an HTML page 
with the applet tag, and let the world enjoy your new applet with powerful 
permissions. 

keytool -genkey -v -key store mycompany.keystore -alias myalias_goes_here -keyalg RSA -keysize 2048 -validity 10000