Java+;Maven在Jenkins上构建,但不在本地计算机上构建

Java+;Maven在Jenkins上构建,但不在本地计算机上构建,java,maven,jenkins,Java,Maven,Jenkins,我有一个奇怪的问题。我的构建正在Jenkins上运行,但不是本地的。它过去在本地工作,但由于某种原因停止了 我没有未提交的更改。Jenkins上的代码与我的主分支(使用Git)同步 我已从本地计算机项目中删除所有未提交的文件 Mvn-本地计算机上的版本: Apache Maven 3.5.2 (138edd61fd100ec658bfa2d307c43b76940a5d7d; 2017-10-18T09:58:13+02:00) Maven home: /Users/andersvincentl

我有一个奇怪的问题。我的构建正在Jenkins上运行,但不是本地的。它过去在本地工作,但由于某种原因停止了

我没有未提交的更改。Jenkins上的代码与我的主分支(使用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"
[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
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>
从本地计算机生成结果:

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"
[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中的失败引用了ProjectA中的包。所有这些包都是这样的:

[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编译插件将版本设置为Java7,所以应该不会有问题吧?我不明白。通常情况下,问题是它在本地工作,但在詹金斯身上不起作用。这是另一种方式。非常感谢您的帮助。我开始觉得自己很傻了

编辑:
在另一台Mac上试用。和我的Mac一样的结果,失败。已使用Windows创建VM并重试,结果与服务器相同。成功。这似乎是一个与Mac无关的问题。它以前在Mac上工作过,所以我正在考虑更新是否破坏了某些东西。

I编译操作在Windows上有效,但在OSX/Linux上无效。最常见的故障是文件名(或目录名)中的大小写字符错误

Windows工作时不区分大小写,因此能够查找和访问该文件

OSX和Linux区分大小写,因此无法访问该文件

检查包的目录名
some.package.in.projectA

和Java文件的文件名,它们分别与包的类名完全匹配。

感谢您的回复。已检查所有包名是否为小写。目录也是如此。唯一大写的是*.java文件和/src/etc之前的目录。@为什么?声明的类和包名与文件/目录名匹配吗?是的。在unix中使用“tree”命令进行检查,并与文件中定义/引用包的方式进行比较。包名称正确,但不知何故,“java”文件夹在main下消失了。应该发现的。因为它是在包之前,我没有检查,但我会给你正确的答案,因为你让我开始进一步检查。你是否使用相同的JDK版本进行构建?JDK-9.0.4.JDK和JDK-9.0.1是否会导致访问包时出现问题?我建议你使用JDK 9升级maven编译器插件3.7.0…此外,看起来奇怪的是本地/詹金斯之间的构建时间有很大差异?一个完整的注销将是有帮助的…我更新插件没有帮助,但这是一件好事做任何一种方式。是的,在我的计算机上,构建时间非常长,但是jenkins的服务器速度非常快,而且我的机器很旧。日志实际上只是其中的几个例子。我唯一要忽略的是相同结构的行的数量。不能透露软件包的名称,因为我会破坏NDA。好的,这很好,它消除了旧版本插件的潜在问题…此外,你真的在Jenkins上运行JDK 9吗?正确配置以运行自由式作业,还是在Jenkins中使用Maven作业或管道作业?