2017-07-17 14 views
2

archilles cassandra mock serverを使用して、Java Mavenプロジェクトのユニットテストを実行します。コンソールで例外が表示される以外はすべて正常に動作します。achilles Cassandra模擬サーバー:java.library.pathのlibsigar-universal64-macosx.dylib

org.hyperic.sigar.SigarException: でorg.hyperic.sigar.Sigar.loadLibrary(Sigar.java:172)でjava.library.pathにでないlibsigar-universal64-macosx.dylib ORG .hyperic.sigar.Sigar(Sigar.java:100)at org.apache.cassandra.utils.SigarLibrary(SigarLibrary.java:47) at org.apache.cassandra.utils .SigarLibrary。(SigarLibrary.java:28) org.apache.cassandra.service.StartupChecks $ 7.execute(StartupChecks.java:216)で org.apache.cassandra.service.StartupChecks.verify(StartupChecks.javaで:112) でorg.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:187) でorg.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:585) 情報で。 archinnov.achilles.embedded.ServerStarter.lambda $ java.util.conでjava.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) で$ 0(ServerStarter.java:164) を開始java.lang.Thread.runでcurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:617) (Thread.java:745)

この問題は、試験結果に影響を与えませんが、私は好きではありません特に私の同僚がmavenのインストールを実行するときにそれを見る可能性が高いため、コンソールで確認してください。

私はこの問題のいくつかの解決策を見たことがありますが、マシンにローカル設定が含まれています(手動でローカルディレクトリにjarファイルを手動で追加するなど)。これはオプションではありません。私の同僚にこの問題を再現させたくないので、私はそれらの設定を強制したくありません。

したがって、私は、プロジェクト自体だけを含む修正を探しています(たとえば、pom.xmlに1つ以上の依存関係を追加してこの例外を取り除くようにしています)ので、この例外はビルド時にローカル設定なしで出力されません。

ありがとうございました。

答えて

0

この問題の回避策を最終的に見つけました。これは、例外を発生させる根本的な問題を解決するという意味での解決策ではありませんが、ログからの消滅が必要です。これに合わせて、ユニットテストの設定に以下を追加しました。

org.apache.log4j.Logger.getLogger("Sigar").setLevel(org.apache.log4j.Level.OFF); 

例外がログから消えます。