Java Webstartを使用してTibrvJライブラリを介して Tibrv のネイティブ実装を使用するアプリケーションをデプロイしようとしています。
すべての Windows dllを内部からc:\tibco\tibrv\bin
Jar ファイルにパッケージ化し、これらをJNLPファイルのnativelib
要素に追加しました。
私は、webstart がファイルからdllファイルを取得し、それを介して tibco-7.5.1-nativelibs.jar
それらをロードできるようにすることを望んでいました。しかし、それは適切に動作したくないようです。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 を開くための呼び出しが行われるとすぐに、次の行に沿ったエラーで崩壊します。
[ルート例外は TibrvException です [エラー = 22、メッセージ = バージョンの不一致: libtibrv バージョン 7.4 は tibrvj 共有ライブラリ 7.5 のバージョンと一致しません]]
TibrvException[エラー=901、メッセージ=ライブラリが見つかりません: tibrvj]]
ユーザーのPC には、Tib 7.2 から 7.5 までのさまざまなTib が既にインストールされています。Webstart アプリケーションは、パッケージ内の Jar ファイルと一致する 7.5 がインストールされたマシンでのみ正しく動作します。そのため、nativelib jar では何もしていないようです。
ユーザーがインストールした異なるバージョンの Tib に対して、3 つのバージョンの Web Start アプリケーションをデプロイする必要がないようにしたいと考えています。
このTibrvJとWebstartの組み合わせを機能させることができた人は他にいますか?