2013-10-03 105 views
1

我正在研究一個包含clojure測試的Java項目。這些測試使用的是「Clojure的Maven插件執行:https://github.com/talios/clojure-maven-pluginJenkins的clojure測試執行

我在本地執行的測試(從的IntelliJ IDE)成功,但是當我從詹金斯嘗試,我得到了一個錯誤任何想法

message : Failed to execute goal com.theoryinpractise:clojure-maven-plugin:1.3.13:compile (compile) on project smartsteps-dsp-qa: Clojure failed. 
cause : Clojure failed. 
Stack trace : 
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal com.theoryinpractise:clojure-maven-plugin:1.3.13:compile (compile) on project smartsteps-dsp-qa: Clojure failed. 
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:217) 
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153) 
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145) 
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84) 
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59) 
    at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183) 
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161) 
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320) 
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156) 
    at org.jvnet.hudson.maven3.launcher.Maven3Launcher.main(Maven3Launcher.java:79) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:601) 
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchStandard(Launcher.java:329) 
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:239) 
    at org.jvnet.hudson.maven3.agent.Maven3Main.launch(Maven3Main.java:158) 
    at hudson.maven.Maven3Builder.call(Maven3Builder.java:100) 
    at hudson.maven.Maven3Builder.call(Maven3Builder.java:66) 
    at hudson.remoting.UserRequest.perform(UserRequest.java:118) 
    at hudson.remoting.UserRequest.perform(UserRequest.java:48) 
    at hudson.remoting.Request$2.run(Request.java:326) 
    at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72) 
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:166) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) 
    at java.lang.Thread.run(Thread.java:722) 
Caused by: org.apache.maven.plugin.MojoExecutionException: Clojure failed. 
    at com.theoryinpractise.clojure.AbstractClojureCompilerMojo.callClojureWith(AbstractClojureCompilerMojo.java:446) 
    at com.theoryinpractise.clojure.AbstractClojureCompilerMojo.callClojureWith(AbstractClojureCompilerMojo.java:362) 
    at com.theoryinpractise.clojure.AbstractClojureCompilerMojo.callClojureWith(AbstractClojureCompilerMojo.java:339) 
    at com.theoryinpractise.clojure.ClojureCompilerMojo.execute(ClojureCompilerMojo.java:47) 
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101) 
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209) 
    ... 27 more 

pom.xml中的相關內容是:

<plugin> 
       <groupId>com.theoryinpractise</groupId> 
       <artifactId>clojure-maven-plugin</artifactId> 
       <version>1.3.13</version> 
        <extensions>true</extensions> 
        <configuration> 
         <sourceDirectories> 
          <sourceDirectory>src/main/clojure</sourceDirectory> 
         </sourceDirectories> 
         <testSourceDirectories> 
          <sourceDirectory>src/test/clojure</sourceDirectory> 
         </testSourceDirectories> 
        </configuration> 
        <executions> 
         <execution> 
          <id>compile</id> 
          <phase>compile</phase> 
          <goals> 
           <goal>compile</goal> 
          </goals> 
         </execution> 
         <execution> 
          <id>test</id> 
          <phase>verify</phase> 
          <goals> 
           <goal>test</goal> 
          </goals> 
         </execution> 
        </executions> 
      </plugin> 

添加詳細標誌我收到此錯誤信息

編輯:添加詳細標誌我得到此錯誤消息:

Error: Could not find or load main class clojure.lang.Compile 
+1

堆棧跟蹤中沒有太多信息要繼續。我建議通過調試開關(-X, - debug)增加maven的日誌記錄。然後,您可以獲取一些信息(在堆棧跟蹤之前輸出),說明clojure插件失敗的原因。 – Javaru

+0

@MarkVedder我已經添加了調試標誌,並且在堆棧跟蹤中收到了以前的錯誤消息。我已經更新了這個問題。 –

回答

3

您需要指定clojure作爲依賴項。以下添加到您的POM:

<dependencies> 
    <dependency> 
     <groupId>org.clojure</groupId> 
     <artifactId>clojure</artifactId> 
     <version>1.5.0</version> 
    </dependency> 
</dependencies> 

順便說一句,你有插件配置只是在重複的默認值。這應該足夠了:

<plugin> 
    <groupId>com.theoryinpractise</groupId> 
    <artifactId>clojure-maven-plugin</artifactId> 
    <version>1.3.17</version> 
    <extensions>true</extensions> 
</plugin>