2016-06-05 9 views
0

명령 줄에 mvn clean package cf:push 명령을 실행하면 문제없이 완벽하게 작동합니다. 나는 또한 같은 기계에 허드슨을 설치했다. 저도 같은 메이븐 환경을 사용하고 같은 목표 clean package cf:push를 실행하는 허드슨 Maven 플러그인을 사용하지만, 나는 아래의 오류가있어 : 나는 로그를 갔다Maven 명령 줄 빌드 대 Hudson 빌드

[INFO] BUILD FAILURE 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: 9.652 s 
[INFO] Finished at: 2016-06-05T09:01:45+00:00 
[INFO] Final Memory: 38M/357M 
[INFO] ------------------------------------------------------------------------ 
[INFO] o.h.m.e.h.MavenExecutionResultHandler - Build failed with exception(s) 
[INFO] o.h.m.e.h.MavenExecutionResultHandler - [1] org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.cloudfoundry:cf-maven-plugin:1.1.2:push (default-cli) on project gs-messaging-redis: Execution default-cli of goal org.cloudfoundry:cf-maven-plugin:1.1.2:push failed: An API incompatibility was encountered while executing org.cloudfoundry:cf-maven-plugin:1.1.2:push: java.lang.NoSuchMethodError: org.slf4j.spi.LocationAwareLogger.log(Lorg/slf4j/Marker;Ljava/lang/String;ILjava/lang/String;Ljava/lang/Throwable;)V 
+0

허드슨에서 실행하려면 허드슨의 MavenJob이 아닌 자유형을 사용하십시오. – khmarbaise

답변

0

을하고 난 아래 까다로운 일을 발견 : 내가 설정 한 경우 이 같은 허드슨에 의해 실행 된이 clean package cf:push -e 같은 허드슨, 실제로 표창에 대한 목표 :

mvn clean package cf:push -e -V -B -Dmaven.ext.class.path=/home/dingjianrui/hudson/maven/slavebundle/resources:/home/dingjianrui/hudson/maven/slavebundle/lib/maven3-eventspy-3.1.jar:/opt/tomcat/apache-tomcat-8.0.33/webapps/hudson/WEB-INF/lib/hudson-remoting-3.0.3.jar -Dhudson.eventspy.port=38570 -f pom.xml 

이 명령은 실제로 특히 허드슨 자체가 사용하는 다른 라이브러리를 주입, 나는 그들이 원격 제어를 위해 사용되는 것 같아요 로그를 어딘가에 출력하면 t를 비활성화 할 수있는 방법이 없습니다. 헛기침.

삽입 된 라이브러리는 실제로 maven 라이브러리와 충돌합니다.

SLF4J: Class path contains multiple SLF4J bindings. 
SLF4J: Found binding in [jar:file:/home/dingjianrui/hudson/maven/slavebundle/lib/maven3-eventspy-runtime.jar!/org/slf4j/impl/StaticLoggerBinder.class] 
SLF4J: Found binding in [jar:file:/usr/share/maven/lib/slf4j-simple.jar!/org/slf4j/impl/StaticLoggerBinder.class] 

그리고 그것은 또한 결국 모든 일이 실패있어 내 플러그인 라이브러리와 충돌이 있습니다 내가 아래의 경고를 가지고 이유입니다.

[INFO] o.h.m.e.h.MavenExecutionResultHandler - [1] org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.cloudfoundry:cf-maven-plugin:1.1.2:push (default-cli) on project gs-messaging-redis: Execution default-cli of goal org.cloudfoundry:cf-maven-plugin:1.1.2:push failed: An API incompatibility was encountered while executing org.cloudfoundry:cf-maven-plugin:1.1.2:push: java.lang.NoSuchMethodError: 

내가 명령 줄에서 동일한 명령 mvn clean package cf:push -e을 실행하면, 모든 확인 있음을 유의하십시오. 내 질문은 삽입 된 허드슨 라이브러리와 내 플러그인 라이브러리의 충돌을 피하는 방법입니다. 위의 근본 원인은 무엇입니까?

감사합니다.