我正在尝试编译并运行JFlashPlayer 2.1.1试用版随附的示例代码。 (很抱歉,下载链接显示VersaEdge已停止使用JFlashPlayer )
我能够在2009年运行一个演示,但是由于com.jpackages.jflashplayer.FlashPanel.getOSVersion
的java.lang.UnsatisfiedLinkError
导致我现在无法运行该应用程序。 我正在运行Windows 7 64位,并且不使用Internet Explorer。 我猜测VersaEdge没有更新JFlashPlayer以支持Windows 7或IE中的某些组件丢失了。
另外,我是一位经验丰富的C#开发人员,但是在编译Java方面,我却是个彻头彻尾的笨蛋。 也许我缺少类路径或其他明显的命令行开关。
我已经使用其批处理文件buildClasses.bat
编译了这些类,即:
javac -d classes -classpath ..\jflashplayer.jar Example.java
然后我使用运行应用程序
java -cp classes;..\jflashplayer.jar Example
。 异常的全文:
Exception in thread "main" java.lang.UnsatisfiedLinkError: com.jpackages.jflashplayer.FlashPanel.getOSVersion(I)I
at com.jpackages.jflashplayer.FlashPanel.getOSVersion(Native Method)
at com.jpackages.jflashplayer.FlashPanel.n(Unknown Source)
at com.jpackages.jflashplayer.FlashPanel.installFlash(Unknown Source)
at Example.createFlashPanel(Example.java:94)
at Example.<init>(Example.java:141)
at Example.main(Example.java:425)
任何帮助表示赞赏! 谢谢Java专家!
编辑
试用文件夹的根目录中有几个DLL和一个runExample.bat
。 批处理文件运行
java -classpath jflashplayer.jar;example/classes Example
并给了我同样的UnsatisfiedLinkError
。 我尝试在路径中包括当前目录以协助JNI搜索,但这并没有改变任何内容。 我不确定它在寻找什么DLL。
编辑2
发现了2006年的一篇很棒的文章(至今还很古老),其中描述了运行示例的所有复杂过程。 没运气。 根据readme.txt
判断,最新的JFlashPlayer版本是2009年的某个时候,而Windows7是2009年10月22日发布的 。 因此,我可以肯定这是一个不受平台支持的问题。
接下来的问题是,如何在Java中托管SWF? 但是,我将其保留用于后续问题。