1

私はMavenを使用してプロジェクトを構築し、コードの静的分析を行います。ただし、Jenkinsジョブでこれらのコマンドを実行すると、reusltは異なります。

ローカルで

$ mvn emma:emma pmd:cpd pmd:pmd javadoc:javadoc

次に、target\siteを取得しますここに画像の説明を入力してください

Jenkinsのジョブでは、ビルドセクション、目標とオプション

emma:emma pmd:cpd pmd:pmd javadoc:javadoc

レポートを含むtarget\site \ emmaフォルダーが見つからないため、エラーが発生します。ここに画像の説明を入力してください

...
Emma: looking for coverage reports in the entire workspace: /home/jenkins/jenkins-home/workspace/Atlas_Master_Maven
Emma: no coverage files found in workspace. Was any report generated?
Build step 'Record Emma coverage report' changed build result to FAILURE
...

ローカルはWindows764x、リモートJenkinsはCentOSです。どちらもMaven3.0.4を持っています。

なぜこれが起こっているのですか、そしてジェンキンスで同じ結果を得る方法は?

4

1 に答える 1

1

Jenkinsのジョブ出力を注意深く見ると、ユニットテストが実行されていないことがわかりました。そのため、emmaには続行するデータがありませんでした。@eisに感謝します。うん、魔法はありません。

[INFO] --- maven-surefire-plugin:2.10:test (default-test) @ atlas ---
[INFO] Surefire report directory: /home/jenkins/jenkins-home/workspace/Atlas_Master_Maven/target/surefire-reports

-------------------------------------------------------
 T E S T S
-------------------------------------------------------
org.apache.maven.surefire.util.SurefireReflectionException: java.lang.reflect.InvocationTargetException; nested exception is java.lang.reflect.InvocationTargetException: null
java.lang.reflect.InvocationTargetException
    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.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:164)
    at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:110)
    at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:175)
    at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcessWhenForked(SurefireStarter.java:107)
    at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:68)
Caused by: java.lang.NoClassDefFoundError: com/funshion/base/service/ServiceException
    at java.lang.Class.getDeclaredMethods0(Native Method)
    at java.lang.Class.privateGetDeclaredMethods(Class.java:2427)
    at java.lang.Class.getMethod0(Class.java:2670)
    at java.lang.Class.getMethod(Class.java:1603)
    at org.apache.maven.surefire.util.ReflectionUtils.tryGetMethod(ReflectionUtils.java:57)
    at org.apache.maven.surefire.common.junit3.JUnit3TestChecker.isSuiteOnly(JUnit3TestChecker.java:65)
    at org.apache.maven.surefire.common.junit3.JUnit3TestChecker.isValidJUnit3Test(JUnit3TestChecker.java:60)
    at org.apache.maven.surefire.common.junit3.JUnit3TestChecker.accept(JUnit3TestChecker.java:55)
    at org.apache.maven.surefire.common.junit4.JUnit4TestChecker.accept(JUnit4TestChecker.java:52)
    at org.apache.maven.surefire.util.DefaultDirectoryScanner.locateTestClasses(DefaultDirectoryScanner.java:80)
    at org.apache.maven.surefire.junit4.JUnit4Provider.scanClassPath(JUnit4Provider.java:174)
    at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:83)
    ... 9 more
Caused by: java.lang.ClassNotFoundException: com.funshion.base.service.ServiceException
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
    ... 21 more

Results :

Tests run: 0, Failures: 0, Errors: 0, Skipped: 0

mojoSucceeded org.apache.maven.plugins:maven-surefire-plugin:2.10(default-test)
[JENKINS] Recording test results
forkedProjectSucceeded com.funshion.microlens:atlas:1.1.5.BUILD-SNAPSHOT
mojoStarted org.codehaus.mojo:emma-maven-plugin:1.0-alpha-3(default-cli)
[INFO] 
[INFO] --- emma-maven-plugin:1.0-alpha-3:emma (default-cli) @ atlas ---
processing input files ...
mojoSucceeded org.codehaus.mojo:emma-maven-plugin:1.0-alpha-3(default-cli)1 file(s) read and merged in 114 ms
nothing to do: no runtime coverage data found in any of the data files
于 2013-01-05T06:27:27.003 に答える