【发布时间】:2013-04-15 23:35:59
【问题描述】:
我正在尝试编译和运行JFlashPlayer 2.1.1 试用版附带的示例代码。 (抱歉下载链接,VersaEdge好像有discontinued 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 大师!
编辑
试用文件夹的根目录中有几个 DLL 和一个 runExample.bat。批处理文件运行
java -classpath jflashplayer.jar;example/classes Example
给我同样的UnsatisfiedLinkError。我试过including the current directory in my path 来协助JNI 搜索,但这并没有改变任何东西。我不确定它在寻找什么 DLL。
编辑 2
找到了一个great (yet ancient) article from 2006,它描述了让示例运行的所有复杂性。没运气。从readme.txt 和Windows7 was released Oct 22 2009 来看,上一次JFlashPlayer 发布是在2009 年的某个时候。所以我相当肯定这是一个不受平台支持的问题。
接下来的问题是,如何在 Java 中托管 SWF?但我会将其留作后续问题。
【问题讨论】: