我正在尝试编译和运行JFlashPlayer 2.1.1试用版附带的示例代码。(抱歉下载链接,看来VersaEdge已经停止了 JFlashPlayer)
我能够在 2009 年获得运行演示,但java.lang.UnsatisfiedLinkError
由于com.jpackages.jflashplayer.FlashPanel.getOSVersion
. 我正在运行 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 大师!
编辑
runExample.bat
试用文件夹的根目录中有几个 DLL 和一个。批处理文件运行
java -classpath jflashplayer.jar;example/classes Example
并给我同样的UnsatisfiedLinkError
。我尝试在路径中包含当前目录以协助 JNI 搜索,但这并没有改变任何东西。我不确定它在寻找什么 DLL。
编辑 2
从 2006 年找到一篇很棒的(但很古老的)文章,描述了让示例运行的所有复杂性。没运气。上一次 JFlashPlayer 发布是在 2009 年的某个时候readme.txt
,而Windows7 是在 2009 年 10 月 22 日发布的。所以我相当肯定这是一个不受平台支持的问题。
那么,接下来的问题是,如何在 Java 中托管 SWF?但我会将其留作后续问题。