我试图通过使用Java的TibrvJ库部署一个应用程序,该应用程序使用Tibrv的本机实现。
我已经将c:\tibco\tibrv\bin内部的所有Windows打包成一个Jar文件,并将它们添加到JNLP文件中的nativelib元素中。
我希望webstart能够从tibco-7.5.1-nativelibs.jar文件中获取dll文件,并允许通过System.loadLibrary加载它们,而System.loadLibrary是从Tibrv.open()调用的。然而,它似乎不想正常工作。
我的JNLP文件如下所示:
<?xml version="1.0" encoding="utf-8"?><!DOCTYPE jnlp PUBLIC "-//Sun Microsystems, Inc//DTD JNLP Descriptor 6.0//EN" "http://java.sun.com/dtd/JNLP-6.0.dtd">
<jnlp spec="6.0+"
codebase="http://somewhere:8080/my-gui/application"
href="launch.jnlp">
<information>
<title>My GUI</title>
<vendor>Technology</vendor>
<description>Dashboard</description>
<description kind="short">Dashboard</description>
<icon href="icon/Stocks-128x128.png" />
<offline-allowed />
<shortcut online="true">
<desktop />
<menu submenu="Dashboard" />
</shortcut>
</information>
<security>
<all-permissions />
</security>
<update check="always" policy="prompt-update" />
<resources>
<j2se version="1.6+" href="http://java.sun.com/products/autodl/j2se"
java-vm-args="-Xmx120M -ea />
<property name="log4j.configuration" value="live/log4j.xml" />
<property name="swing.aatext" value="true" />
<jar href="tibrvj-7.5.1.jar" />
<jar href="dashboard-gui.jar" main="true" />
</resources>
<resources>
<nativelib href="nativelib/tibco-7.5.1-nativelibs.jar" />
</resources>
<application-desc main-class="com.somewhere.Main">
<argument>classpath:/live/client.xml</argument>
<argument>/live/live.properties</argument>
</application-desc>
</jnlp> 应用程序启动,但一旦调用要打开tib,它就会崩溃,出现以下错误:
7.5]
用户已经在他们的个人电脑上安装了一个从TiB7.2到7.5的品种的Tib安装。Webstart应用程序只在安装了7.5的机器上正确工作,该机器与包内的Jar文件匹配。因此,它似乎没有任何作用,对本地的罐子。
我希望避免为用户安装的不同版本的Tib部署3个版本的web应用程序。
有没有其他人成功地将、TibrvJ、和Webstart结合起来使用?
发布于 2009-09-09 16:53:07
我想你在Webstart上遇到了一个问题。
几年前,我有一个使用Java3D的Webstart应用程序,它不能在Mac上工作。最后,我发现所有Macs -有些是安装了Java3D的旧版本--已经安装的版本被用于我在JNLP文件中包含的更新版本。你的问题听起来几乎就是这样,所以很可能是同样的问题。
https://stackoverflow.com/questions/1399397
复制相似问题