Java WebstartとTibcoネイティブLib
-
22-09-2019 - |
質問
い展開を利用したアプリケーショ ネイティブ 実施Tibrvの TibrvJ 図書館利用 Java Webstart.
私はパッケージまでのすべてのWindows dll 内側から c:\tibco\tibrv\bin
へのJarファイルを追加することで、 nativelib
要素の JNLP ファイルです。
つくろうと思いましたが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[error=22、メッセージ=版のミスマッチ:libtibrv版7.4マッチしない版tibrvj共有ライブラリ7.5]]
TibrvException[error=901、メッセージ=図書館となっていますtibrvj]]
のユーザー 様々な のTib設置済みパソコンからTib7.2通7.5.のWebstart申込みが正しく動作機械7.5設置されるJarファイル内のソフトウェアによるものです。でないものnativelib jar.
たいと思いる必要性を回避するために配分の3バージョンのweb startアプリケーションのためのアプリケーションに高度Tibさらに、ユーザーのインストール
は誰にこの組み合わせ TibrvJ や Webstart す。
解決
私はそれが働いて得ることができました。トラブルがあることSystem.loadLibrary
への呼び出し使用しての Web Startののそれらはnativelibジャーにパッケージ化されている場合でも、指定されたライブラリの依存関係にロードされません。
http://bugs.sun.com/bugdatabase/view_bugを参照してください。詳細は?bug_id = 6191612 の操作を行います。
それが正しい順序で明示的にロードするために必要なすべての依存関係のあるこの問題を回避するには、。独自のjarファイルに各DLLライブラリを置くことも必要です。
だから、ネイティブTibrvJを使用するには、Tibrv.Open
への呼び出し前に、次の呼び出しを行う必要があります。
System.loadLibrary("msvcr71");
System.loadLibrary("tibrv");
System.loadLibrary("tibrvcm");
System.loadLibrary("tibrvft");
System.loadLibrary("tibrvcmq");
System.loadLibrary("tibrvj");
幸せな日々!
他のヒント
私はあなたがWeb Startのに問題が発生していると考えています。
何年か前、私はMacで仕事をしませんでしたJava 3Dを使用してWeb Startのアプリケーションを持っていました。最終的に私はすべてのMacには、Java 3Dの古いバージョンでいくつかのインストール、およびその既にインストールされているバージョンが、私は私のJNLPファイル内に含まれていたことが、より新しいバージョンの上に使用されたことがわかりました。ほぼ正確にこのような問題の音が、それは非常によく、同じ問題である可能性があります。