2013-06-30 33 views
10

Tôi đã theo dõi để thiết lập Jenkins với GIT và Maven (với những thay đổi nhỏ vì tôi đang sử dụng Linux CenOS).Jenkins không thể chạy Maven

Tôi đang cố gắng để kiểm tra thiết lập của tôi trên một Demo Maven project from GitHub

Jenkins ném một ngoại lệ khi cố gắng thực hiện Maven. Vì vậy, tôi đã cố gắng git-clone dự án và chạy Maven bằng tay và nó hoạt động tốt.

Vì vậy, vấn đề là với Jenkins chạy Maven. Tôi đã thử tìm kiếm sự cố trên google nhưng không thể tìm thấy bất kỳ thông tin hữu ích nào.

nghi ngờ hiện tại của tôi là:

  1. lẽ Jenkins không sử dụng classpath đúng để thực hiện Maven. Điều này có thể do thiếu quyền đọc tệp, vì Jenkins có người dùng riêng trên linux (tên là jenkins).
  2. Có thể Maven chưa được cài đặt đúng. Tôi đã cài đặt nó theo cách thủ công, thay vì cho phép Jenkins cài đặt nó cho tôi, vì tôi cần thiết lập này để làm việc ngoại tuyến.

Đây là giao diện điều khiển đầu ra từ Jenkins:

Started by an SCM change 
Building in workspace /var/lib/jenkins/jobs/Omri/workspace 
Checkout:workspace//var/lib/jenkins/jobs/Omri/workspace - [email protected] 
Using strategy: Default 
Last Built Revision: Revision af62f13d2374bc00a4b67f7586bfd52b7bda80eb (origin/prepare) 
Fetching changes from 1 remote Git repository 
Fetching upstream changes from origin 
Seen branch in repository origin/HEAD 
Seen branch in repository origin/master 
Seen branch in repository origin/prepare 
Seen 3 remote branches 
Commencing build of Revision a9a1fc4a96d4ac4af3ca5e7e3b7393a6df4bf555 (origin/HEAD, origin/master) 
Checking out Revision a9a1fc4a96d4ac4af3ca5e7e3b7393a6df4bf555 (origin/HEAD, origin/master) 
No change to record in branch origin/HEAD 
No change to record in branch origin/master 
Parsing POMs 
Modules changed, recalculating dependency graph 
[workspace] $ /usr/java/jdk1.7.0_17/bin/java -cp /var/lib/jenkins/plugins/maven-plugin/WEB-INF/lib/maven3-agent-1.3.jar:/home/jenkins/maven/boot/plexus-classworlds-2.4.2.jar org.jvnet.hudson.maven3.agent.Maven3Main /home/jenkins/maven/ /var/cache/jenkins/war/WEB-INF/lib/remoting-2.24.jar /var/lib/jenkins/plugins/maven-plugin/WEB-INF/lib/maven3-interceptor-1.3.jar 53953 
<===[JENKINS REMOTING CAPACITY]===>���channel started 
log4j:WARN No appenders could be found for logger (org.apache.commons.beanutils.converters.BooleanConverter). 
log4j:WARN Please initialize the log4j system properly. 
Executing Maven: -B -f /var/lib/jenkins/jobs/Omri/workspace/pom.xml -Dmaven.repo.local=/var/lib/jenkins/maven-repositories/1 package 
java.lang.reflect.InvocationTargetException 
    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:331) 
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:239) 
    at org.jvnet.hudson.maven3.agent.Maven3Main.launch(Maven3Main.java:174) 
    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:1145) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
    at java.lang.Thread.run(Thread.java:722) 
Caused by: java.lang.NoClassDefFoundError: org/apache/maven/cli/MavenLoggerManager 
    at org.jvnet.hudson.maven3.launcher.Maven3Launcher.main(Maven3Launcher.java:73) 
    ... 18 more 
Caused by: java.lang.ClassNotFoundException: org.apache.maven.cli.MavenLoggerManager 
    at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:50) 
    at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:244) 
    at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:230) 
    ... 19 more 
channel stopped 
ERROR: Failed to parse POMs 
hudson.util.IOException2: java.lang.reflect.InvocationTargetException 
    at hudson.maven.Maven3Builder.call(Maven3Builder.java:162) 
    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:1145) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
    at java.lang.Thread.run(Thread.java:722) 
Caused by: java.lang.Exception: java.lang.reflect.InvocationTargetException 
    at org.jvnet.hudson.maven3.agent.Maven3Main.launch(Maven3Main.java:177) 
    at hudson.maven.Maven3Builder.call(Maven3Builder.java:100) 
    ... 10 more 
Caused by: java.lang.reflect.InvocationTargetException 
    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:331) 
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:239) 
    at org.jvnet.hudson.maven3.agent.Maven3Main.launch(Maven3Main.java:174) 
    ... 11 more 
Caused by: java.lang.NoClassDefFoundError: org/apache/maven/cli/MavenLoggerManager 
    at org.jvnet.hudson.maven3.launcher.Maven3Launcher.main(Maven3Launcher.java:73) 
    ... 18 more 
Caused by: java.lang.ClassNotFoundException: org.apache.maven.cli.MavenLoggerManager 
    at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:50) 
    at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:244) 
    at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:230) 
    ... 19 more 
Finished: FAILURE 

Ý tưởng bất cứ ai? Cảm ơn.

+0

Tôi có thể chạy dự án maven của bạn một cách chính xác trên dòng lệnh với maven 3.0.5 được cài đặt. Bạn có thể chạy maven cho dự án của bạn trên dòng lệnh không? – Behe

Trả lời

18

Rõ ràng vấn đề là tôi đã cài đặt phiên bản alpha mới nhất của Maven, không ổn định. Với phiên bản ổn định mới nhất - 3.0.5 - mọi thứ đều hoạt động tốt.

+0

Quảng cáo trắng trợn nhưng vẫn có liên quan, bạn có thể sử dụng trình bao bọc uch làm trình bao bọc Maven để tự động cài đặt và cài đặt Maven: https: // github. com/rimerosolutions/maven-wrapper. Điều này thuận tiện trên các máy xây dựng và giúp tránh các vấn đề phổ biến như sử dụng các phiên bản Maven không ổn định hoặc chưa được kiểm tra. – rimero

+2

Phiên bản này ổn định ngay bây giờ, nhưng vẫn không hoạt động với Jenkins. –

+3

Jenkins> = 1.525 sẽ có thể làm việc với Maven 3.1.0 (xem https://issues.jenkins-ci.org/browse/JENKINS-15935) – Henning

1

Ở đây là:

Caused by: java.lang.NoClassDefFoundError: org/apache/maven/cli/MavenLoggerManager 
    at org.jvnet.hudson.maven3.launcher.Maven3Launcher.main(Maven3Launcher.java:73) 
    ... 18 more 

Nếu bạn không để Jenkins cài đặt Maven, sau đó bạn cần phải cấu hình vị trí của quá trình cài đặt Maven nó nên sử dụng.

+0

Tôi đã làm điều đó - Như tôi đã nói, tôi đã làm theo hướng dẫn trong liên kết, bao gồm cấu hình – Malki

Các vấn đề liên quan