我目前正在面對Jenkins 1.532.2和Maven 3.0.3嚴重的類路徑問題。在本地,類路徑順序是正確的,所有的JUnit測試工作。在Jenkins上,類路徑按字母順序排列,不像在pom中定義的那樣。Maven&Jenkins按照字母順序排列類路徑,但不是本地的
上詹金斯(部分刪節)的mvn dependencies:build-classpath
輸出:
axis/axis/1.4/axis-1.4.jar
axis/axis-wsdl4j/1.5.1/axis-wsdl4j-1.5.1.jar
com/company/ownlibrary.jar
com/microsoft/sqljdbc4/3.0/sqljdbc4-3.0.jar
com/oracle/ojdbc6/11.2.0.1.0/ojdbc6-11.2.0.1.0.jar
commons-codec/commons-codec/1.5/commons-codec-1.5.jar
commons-discovery/commons-discovery/0.2/commons-discovery-0.2.jar
commons-lang/commons-lang/2.4/commons-lang-2.4.jar
commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.jar
junit/junit/4.11/junit-4.11.jar
log4j/log4j/1.2.17/log4j-1.2.17.jar
org/apache/axis/axis-jaxrpc/1.4/axis-jaxrpc-1.4.jar
org/apache/axis/axis-saaj/1.4/axis-saaj-1.4.jar
org/apache/poi/poi/3.8/poi-3.8.jar
org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar
org/mockito/mockito-core/1.9.5/mockito-core-1.9.5.jar
org/objenesis/objenesis/1.0/objenesis-1.0.jar
org/slf4j/slf4j-api/1.7.5/slf4j-api-1.7.5.jar
這是mvn dependencies:build-classpath
本地執行(部分刪節)輸出:
com\oracle\ojdbc6\11.2.0.1.0\ojdbc6-11.2.0.1.0.jar
commons-logging\commons-logging\1.1.1\commons-logging-1.1.1.jar
org\apache\poi\poi\3.8\poi-3.8.jar
commons-codec\commons-codec\1.5\commons-codec-1.5.jar
de\company\xyz.jar
de\company\xyz2.jar
com\company\own.jar
log4j\log4j\1.2.17\log4j-1.2.17.jar
commons-lang\commons-lang\2.4\commons-lang-2.4.jar
com\microsoft\sqljdbc4\3.0\sqljdbc4-3.0.jar
axis\axis\1.4\axis-1.4.jar
org\apache\axis\axis-jaxrpc\1.4\axis-jaxrpc-1.4.jar
org\apache\axis\axis-saaj\1.4\axis-saaj-1.4.jar
axis\axis-wsdl4j\1.5.1\axis-wsdl4j-1.5.1.jar
commons-discovery\commons-discovery\0.2\commons-discovery-0.2.jar
org\slf4j\slf4j-api\1.7.5\slf4j-api-1.7.5.jar
junit\junit\4.11\junit-4.11.jar
org\hamcrest\hamcrest-core\1.3\hamcrest-core-1.3.jar
org\mockito\mockito-core\1.9.5\mockito-core-1.9.5.jar
org\objenesis\objenesis\1.0\objenesis-1.0.jar
我使用Maven 3.0.3所以應該使用pom定義的依賴性順序。
什麼是這個問題的根源,我該如何解決這個問題?
附加信息:你可以在classpath的項目看,我在Windows和詹金斯在當地建立在Linux操作系統上運行。
新信息:Linux上的Maven進程也無法正常工作。我試圖在Jenkins運行的機器上本地構建它,結果是一樣的。類路徑是有序的,但我試過的Maven 3.0.3和3.2.1
如果你真的必須使用3.0.x版本,請至少使用'3.0.5'。 – carlspring
我也在Linux上查了3.2.1。我正在用新信息更新問題 – guerda
我對Maven有點新鮮,但是在兩種環境下JDK都是一樣的嗎?我不確定這是否相關,但最近有些問題因爲本地包含在我的JDK中而導致訂單被搞亂,但服務器有以前的版本,並且必須根據依賴關係拉入最新的common-lang jar等對於他們沒有被服務器JDK滿足的。 –