我正在尝试编译并运行JFlashPlayer 2.1.1试用版随附的示例代码。 (很抱歉,下载链接显示VersaEdge停止使用JFlashPlayer

我能够在2009年运行一个演示,但是由于com.jpackages.jflashplayer.FlashPanel.getOSVersionjava.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? 但是,我将其保留用于后续问题。

===============>>#1 票数:1 已采纳

在寻找了替代解决方案几个小时之后,我遇到了QT-Jambi ,它具有一个应支持Flash的WebKit组件。 它也被积极开发并且真正跨平台,而JFlashPlayer既死了也绑定到Windows / IE / ActiveX插件。

奇怪的是,安装QTJambi之后,我遇到了与JFlashPlayer相同的问题,并且发现我最初的错误是试图在64位JRE中运行32位应用程序。 因此,确保安装了32位JRE,我将其位置添加到路径的前面

> set path=c:\Program Files (x86)\Java\jre7\bin;%path%

> where java
c:\Program Files (x86)\Java\jre7\bin\java.exe
C:\Windows\System32\java.exe
C:\Program Files\Java\jdk1.6.0_31\bin\java.exe

并从命令行执行了批处理文件,示例运行正常。

最终,像QTJambi(或QtWebKit )这样的WebKit解决方案对我来说更好,并且我感谢我对Java的了解,因为他缺乏寻找绿色牧场的round回方式。

其他不太方便的解决方案是用于SWT的WebKit (仅Windows)和JWebPanevaporware )。

  ask by cod3monk3y translate from so

未解决问题?本站智能推荐: