埋め込まれたグラスフィッシュでサーバーを取得する方法
-
27-09-2019 - |
質問
埋め込まれたグラスフィッシュを使用して、アルキリアンと一緒にコンテナー内テストをいくつか行います。さて、テストが失敗すると、Arquillian特異的なもので散らかったテストから常にスタックトレースを取得します。しかし、テストに失敗した本当の理由が何であるかについての情報はほとんどありません。通常のGlassfishを使用すると、Server.logを確認できます。残念ながら、埋め込まれたグラスフィッシュはserver.logを提供していないようです。また、Arquillian/埋め込みガラス魚によって作成された一時的なディレクトリも調べましたが、ログファイルは含まれていません。
埋め込まれたグラスフィッシュのロギングをアクティブにするにはどうすればよいですか?
ちなみに、私は私のpomに次の依存関係を持っています:
<dependencies>
<dependency>
<groupId>org.jboss.arquillian.container</groupId>
<artifactId>arquillian-glassfish-embedded-3</artifactId>
<version>1.0.0.Alpha4</version>
</dependency>
<dependency>
<groupId>org.glassfish.extras</groupId>
<artifactId>glassfish-embedded-all</artifactId>
<version>3.1-b06</version>
</dependency>
<dependency>
<groupId>org.jboss.arquillian</groupId>
<artifactId>arquillian-testng</artifactId>
<version>1.0.0.Alpha4</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>5.13.1</version>
<scope>test</scope>
</dependency>
</dependencies>
解決
Arquillian、Testng、埋め込みガラス魚を使用して、まったく同じ問題について多くの困難を抱えていました。数時間後、私はそれを機能させることができました
私が見つけたのは、ArquillianがSLF4J-APIを使用するSLF4J-SIMPLEのバージョン1.5.9.9.rc1に依存していることです。
それを機能させるために、私はプロパティを追加しました
<properties>
<version.slf4j>1.5.9.RC1</version.slf4j>
</properties>
および依存関係
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>${version.slf4j}</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.16</version>
</dependency>
そして、依存関係管理下にあります
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>${version.slf4j}</version>
</dependency>
</dependencies>
</dependencyManagement>
これを手に入れたら、通常のlog4j.propertiesファイルをSRC/テスト/リソースに追加しましたが、すべてが正常に機能しました。
乾杯
所属していません StackOverflow