Java 6、Maven 3.0.4、JUnit 4.8.1 (Maven プロジェクト内の依存関係)、および Sonar 3.2.1 を使用して、CentOS で Jenkins 1.478 を実行しています。Jenkins Maven 2/3 ジョブを設定して、完了後に Sonar を実行します (「クリーン パッケージ -Pdev」という目標を設定)。このプロジェクトは、WAR モジュールと EAR モジュールを含むマルチモジュール プロジェクトです。ただし、プラグインのソナー部分が実行されると、多くのテストが次のようなエラーで停止します...</p>
java.lang.NullPointerException
at java.util.Properties$LineReader.readLine(Properties.java:418)
at java.util.Properties.load0(Properties.java:337)
at java.util.Properties.load(Properties.java:325)
at org.parentco.myco.client.test.AbstractHibernateDaoTest.loadmyprojectProps(AbstractHibernateDaoTest.java:252)
at org.parentco.myco.client.test.AbstractHibernateDaoTest.setupMockEjbContainer(AbstractHibernateDaoTest.java:235)
at org.parentco.myco.client.test.AbstractHibernateDaoTest.setupBeforeClass(AbstractHibernateDaoTest.java:72)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:27)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
例外は、このコード ブロックの最後の行から発生します ...
final InputStream in = AbstractHibernateDaoTest.class.getClassLoader().getResourceAsStream("myproject.properties");
final Properties props = new Properties();
props.load(in);
テストは、私の仕事の Maven 部分で完全に実行されます。問題のファイルは次の場所にあります。
./myclient-war/src/main/resources/myproject.properties
これをさらにトラブルシューティングする方法を知っている人はいますか? Sonar に対応するためにプロジェクト全体を再構築するよりも、Sonar で何かを構成することを好みますが、提案は受け付けています。