2008年1月19日土曜日

Apache Axis [Java]の警告文 対策w.

Apache Axis [Java]を使ってSOAP APIを利用しようとするとこれが気になる.
- 要求されたクラス(javax.activation.DataHandler と javax.mail.internet.MimeMultipart)が見つかりません。Attachmentサポートが利用できません。 / [en]-(Unable to find required classes (javax.activation.DataHandler and javax.mail.internet.MimeMultipart). Attachment support is disabled.)

別に通常利用で害はない.
まぁJ2EEを使っていればこれらjarは含まれるらしいからいいのだがクライアント開発はそうはいかないよね.J2SEだ.
(そもそもAxisってクライアント用ではないってこと?)

これらjar(w).
Javamail mail.jar
http://java.sun.com/products/javamail/
JavaBeans Activation Framework (JAF) activation.jar
http://java.sun.com/products/javabeans/jaf/
(Java6.0には含まれてるの?)


以前はLog4jで対応すればよかったが版が上がり,いつの間にかCommons Loggingというラップがかぶさってたw.
Commons Logging
http://commons.apache.org/logging/


でjarを追加しない対策.
システムプロパティでorg.apache.commons.logging.Logとそのdefaultlogを指定すれば良い.

コードで書くと以下.(mainで指定するとかすれば良い)
System.setProperty("org.apache.commons.logging.Log", "org.apache.commons.logging.impl.SimpleLog");
System.setProperty("org.apache.commons.logging.simplelog.defaultlog", "error");

まったく出さないならこちら
System.setProperty("org.apache.commons.logging.Log", "org.apache.commons.logging.impl.NoOpLog");


引数指定なら以下.(起動コマンド(java)のオプションとして指定すれば良い)
-Dorg.apache.commons.logging.Log=org.apache.commons.logging.impl.SimpleLog
-Dorg.apache.commons.logging.simplelog.defaultlog=error

まったく出さないならこちら
-Dorg.apache.commons.logging.Log=org.apache.commons.logging.impl.NoOpLog


誰かのお役に立てば幸い.
間違いがあればご指摘いただければ幸い.

0 件のコメント: