簡體   English   中英

Java + Maven建立在Jenkins上,但不在本地計算機上

[英]Java+Maven builds on Jenkins but not on local machine

我有一個奇怪的問題。 我的構建在Jenkins上進行,但不在本地進行。 它曾經在本地工作,但由於某種原因而停止了。

我沒有未提交的更改。 Jenkins上的代碼與我的master分支(使用Git)同步。

我已經從本地計算機項目中刪除了所有未提交的文件。

MVN-本地計算機上的版本:

Apache Maven 3.5.2 (138edd61fd100ec658bfa2d307c43b76940a5d7d; 2017-10-18T09:58:13+02:00)
Maven home: /Users/andersvincentlund/Downloads/apache-maven-3.5.2
Java version: 9.0.4, vendor: Oracle Corporation
Java home: /Library/Java/JavaVirtualMachines/jdk-9.0.4.jdk/Contents/Home
Default locale: en_SE, platform encoding: UTF-8
OS name: "mac os x", version: "10.12.6", arch: "x86_64", family: "mac"

Jenkins機器上的工具配置:

jdk-9.0.1
apache-maven-3.5.2

Maven中的編譯器插件中的代碼:

    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.1</version>
        <configuration>
            <source>1.7</source>
            <target>1.7</target>
        </configuration>
    </plugin>

在詹金斯身上建立結果:

[INFO] Reactor Summary:
[INFO] 
[INFO] RootProject ..................................... SUCCESS [  1.781 s]
[INFO] ProjectA ........................................ SUCCESS [ 15.344 s]
[INFO] ProjectB ............................................ SUCCESS [ 35.063 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS

從本地計算機生成結果:

[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO] 
[INFO] RootProject ..................................... SUCCESS [  0.350 s]
[INFO] ProjectA ........................................ SUCCESS [  1.285 s]
[INFO] ProjectB ............................................ FAILURE [  1.402 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE

ProjectB中的失敗引用了Project A中的包。所有看起來都像這樣:

[ERROR] /somePath1/src/main/java/somePath2/SomeFile.java:[10,38] error: package some.package.in.projectA does not exist

我知道我的Maven和Java在不同的機器上不是完全相同的版本。 本地是一台運行Sierra的Mac。 遠程服務器是Windows Server 2012 R2。 由於我正在使用maven編譯插件將版本設置為Java 7,因此應該不會有問題吧? 我不明白 通常情況下,問題在於它在本地運行,而不在詹金斯上運行。 這是另一回事。 幫助將不勝感激。 在這里開始感到非常愚蠢。

編輯:在另一台Mac上嘗試過。 與我的Mac相同的結果,失敗。 使用Windows創建VM,然后重試,結果與服務器相同。 成功。 似乎是Mac所無法解決的問題。 之前它已經在Mac上運行,所以我正在考慮更新是否損壞了某些東西。

我在Windows上可以執行編譯操作,但在OSX / Linux上卻不能,最常見的失敗是文件名(或目錄名)中的大寫或小寫字符錯誤的文件。

由於Windows不區分大小寫,因此可以查找和訪問文件。

OSX和Linux區分大小寫,因此無法訪問該文件。

檢查軟件包some.package.in.projectA的目錄名稱以及它們與軟件包完全匹配的Java文件的文件名,分別是類名。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM