我正在试图将一个vlcj应用程序编译为Java小程序。我已经拥有了在
以下是我做的步骤:
1)首先,要创建小程序,我将.java文件编译为.class文件,并将.class文件存储在
4)然后,我使用“jarsigner”签名Test.jar文件,生成SignedTest.jar。
5)我然后导出公钥到证书。
6)然后将该证书作为受信任的证书导入。
我的测试html页面使用以下代码打开Java小程序:
---编辑---
这是签名Jar文件的结构。
/lib
中运行vlcj所需的3个jar文件,以及/src
中的类文件。在eclipse中,小程序在小程序视图器中正常工作。但是当我打包Jar文件并加载我的测试html页面时,什么也不会发生!我知道小程序需要签名,因为Java小程序的沙盒机制。我已经签名了小程序,但我肯定做错了什么。以下是我做的步骤:
1)首先,要创建小程序,我将.java文件编译为.class文件,并将.class文件存储在
/bin
中。
javac -cp lib/vlcj-2.1.0.jar:lib/platform-3.4.0.jar:lib/jna-3.4.0.jar Test.java
2)然后,我使用以下命令创建我的Jar文件
jar cvf Test.jar lib/* Test.class
3)接下来,我使用“keytool”生成密钥。4)然后,我使用“jarsigner”签名Test.jar文件,生成SignedTest.jar。
5)我然后导出公钥到证书。
6)然后将该证书作为受信任的证书导入。
我的测试html页面使用以下代码打开Java小程序:
<applet code="bin/Test.class" archive="SignedTest.jar” width=200 height=200>
这些步骤中是否有任何错误?我错过了一两个阶段吗?还有一个额外的问题,有没有人知道如何在Linux中获取控制台输出?---编辑---
这是签名Jar文件的结构。
703 Wed Aug 22 09:25:16 BST 2012 META-INF/MANIFEST.MF
908 Wed Aug 22 09:25:16 BST 2012 META-INF/SIGNFILE.SF
782 Wed Aug 22 09:25:16 BST 2012 META-INF/SIGNFILE.DSA
500 Wed Aug 22 09:06:28 BST 2012 Test$1.class
1448 Wed Aug 22 09:06:28 BST 2012 Test.class
40 Tue Aug 14 11:36:48 BST 2012 Notes
1008730 Tue Jul 10 13:15:48 BST 2012 lib/jna-3.4.0.jar
913436 Tue Jul 10 13:15:48 BST 2012 lib/platform-3.4.0.jar
278211 Tue Jul 10 13:15:48 BST 2012 lib/vlcj-2.1.0.jar
371 Tue Jul 10 13:23:54 BST 2012 .project
351 Tue Jul 10 13:16:18 BST 2012 .classpath
code="Test"
,但仍然没有运气。2)是的,依赖于vlc的小程序部署是脆弱的。我还没听说过Xuggle,我会去看看的。我需要支持访问多播MPEG流的东西。我会看看这个是否支持。3)是的,签名代码的接受对话框出现了,我确实点击了“是”。4)我目前在Ubuntu上运行这个,并且尚未出现用于小程序的Java控制台。 - nate-sonicbottlebasic: exception: java.lang.NoClassDefFoundError: uk/co/caprica/vlcj/component/EmbeddedMediaPlayerComponent.
这是存储在外部jar文件中的一个类。你所说的那些Jars需要在运行时类路径中,是指HTML代码还是我需要更改.classpath
文件?感谢您的帮助。 - nate-sonicbottle