0

スタンドアロン アプリケーションであるアプリケーションを開発しており、それを jar ファイル (これは lika a ですOSGi Plugin) としてパッケージ化し、それをデプロイしjar into JBossます。

Eclipse でアプリケーションを実行すると、アプリケーションは正常に動作します。Jboss ではエラーがスローされます。

java.lang.ClassNotFoundException: org.w3c.dom.Node.

フォルダーに追加rt.jarWEB-INF/libて Jboss にデプロイするとします。そのエラーはスローされなくなりました。jsse.jarしかし、追加しても新しい例外が発生しましたlib が、エラーを解決できません。

 com.microsoft.sqlserver.jdbc.SQLServerException: The driver could not establish a 
 secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption. 
 Error: "class configured for SSLContext: sun.security.ssl.SSLContextImpl$TLS10Context 
 not a SSLContext".
  ......

 Caused by: java.security.NoSuchAlgorithmException: class configured for 
 SSLContext: sun.security.ssl.SSLContextImpl$TLS10Context not a SSLContext

 06:10:53,484 ERROR [stderr] (default-short-running-threads-threads - 26) at     
 sun.security.jca.GetInstance.checkSuperClass(GetInstance.java:258)

 06:10:53,484 ERROR [stderr] (default-short-running-threads-threads - 26) at    
 sun.security.jca.GetInstance.getInstance(GetInstance.java:237)

 06:10:53,484 ERROR [stderr] (default-short-running-threads-threads - 26) at  
 sun.security.jca.GetInstance.getInstance(GetInstance.java:164)

 06:10:53,484 ERROR [stderr] (default-short-running-threads-threads - 26) at  
 javax.net.ssl.SSLContext.getInstance(SSLContext.java:156)

 06:10:53,500 ERROR [stderr] (default-short-running-threads-threads - 26) at   
 com.microsoft.sqlserver.jdbc.TDSChannel.enableSSL(IOBuffer.java:1353)

私の開発環境はJdk1.7、サーバー環境も私のローカル環境Windows XPEclipse Juno同じです。

4

2 に答える 2

1
  1. デプロイの一部として rt.jar (またはその他の組み込みの Java) をパッケージ化しないでください。クラスローディングの問題と奇妙なエラーが発生します - あなたが今経験しているように。
  2. 必要なことは、jar のマニフェストで dom API への依存関係を宣言することです。これはすでに jboss フォーラムで質問されています。解決策は、最上位アーティファクト ( .ear/ .war など) のマニフェスト ファイルに値を持つ "Import-Package" キーを含めることです。org.w3c.dom.Node;resolution:="optional"

編集: または、DOM 解析コードを切り替えて、 dom4jなどの jdk で提供されていない外部ライブラリに依存し、それをライブラリとして含めることができます

于 2013-08-27T07:32:31.953 に答える