Windows Server 2008 の Karaf 3.0.1 で一連のアプリケーションを実行しています。サービスの 1 つが依存しているサード パーティのライブラリで問題が発生しています。
karaf のインストールは、専用の Active Directory サービス ユーザー アカウントとして実行されます。(自分のログインを使用して) Windows サーバーにログインし、karaf サービス ユーザーとして (run-as を使用して) コマンド プロンプトを開き、karaf を起動すると、すべてのプロセスが正しく機能します。
しかし、karaf を Windows サービスとして実行したいのです。指示に従って karaf ラッパーを使用すると、サービスとしてインストールされました。コンソールでインタラクティブに実行するために使用したのと同じkarafサービスユーザーとして実行していますが、Windowsサービスから実行しているときはいつでも、ラッパーログに「ロードまたは検索できませんでした」というメッセージが表示されます。パーティーライブラリ。サードパーティのライブラリを開示できるかどうかはわかりませんが、それが重要であれば、その機能の一部に JNI を使用していると思います。関連する dll があり、完全を期すために deploy フォルダーと Windows\system32 / syswow64 フォルダーの両方にこの dll のコピーがあります。karaf サービス ユーザーにも karaf フォルダー全体に対する完全な権限を与えました。
これは、ある種のアクセス許可の問題、またはラッパー サービスの構成に何かが欠けているように見えますが、何も飛び出していません。サービスとして実行している karaf と、同じユーザー資格情報を使用してコンソールから実行している karaf の違いは何ですか? 他のアイデアはありますか?
編集: ラッパーに関するドキュメントをさらに調べた後、dll を karaf インストールの下の \lib フォルダーに配置することになりました。その後、私のアプリケーションは機能しているようです。