Jenkins 项目找不到包;构建项目目标失败

Posted

技术标签:

【中文标题】Jenkins 项目找不到包;构建项目目标失败【英文标题】:Jenkins Project Can't Find Packages; build-project target fails 【发布时间】:2015-09-19 03:48:59 【问题描述】:

我的项目在我的本地机器上编译并运行,但在 Jenkins 上,由于找不到我的包,构建项目目标无法编译。我可以看到我认为我需要的 jar 在我的 ./bin/ 文件夹中,所以我预计类路径或我的构建项目目标会导致问题。

build.xml -> 构建项目:

<target depends="init" name="build-project">
    <echo message="$ant.project.name: $ant.file" />
    <javac debug="true" debuglevel="$debuglevel" destdir="bin" includeantruntime="false" source="$source" target="$target">
        <src path="src" />
        <classpath refid="sierraMadreTestScripts.classpath" />
    </javac>
</target>

关于 Jenkins 的错误消息摘录:

build-project:
 [echo] sierraMadreTestScripts: /data/builds/jenkins/workspace/build.xml
[javac] Compiling 1 source file to /data/builds/jenkins/workspace/bin
[javac] /data/builds/jenkins/workspace/src/testScripts/TranslatorWorkflow.java:3: error: package org.junit does not exist
[javac] import static org.junit.Assert.fail;
[javac]                        ^

我可以发布我的完整 build.xml、ivy.xml、ivysettings.xml 或诊断问题所需的任何其他内容。对不起,如果这真的很基本;常春藤对我来说仍然相当神秘。我正在 Eclipse 中运行我的本地项目。

【问题讨论】:

【参考方案1】:

以下问题概述了您的问题的根本原因:

Running ant build gives "package org.junit does not exist"

简而言之,像 Eclipse 这样的 IDE 会自动将 junit 放入您的类路径中...... Ivy 实际上旨在帮助解决这个问题,并且正确使用它可以用来管理项目类路径的各个方面。

我必须猜测无法访问您的构建逻辑,但看起来您正在使用单个 javac 构建代码和测试?您有一个名为“sierraMadreTestScripts.classpath”的类路径,下一个问题是它是如何创建和管理的。您的问题暗示常春藤以某种方式参与:-)

【讨论】:

以上是关于Jenkins 项目找不到包;构建项目目标失败的主要内容,如果未能解决你的问题,请参考以下文章

Jenkins部署python项目时,提示找不到自己定义的模块包的问题

jenkins构建java项目找不到命令mvn,java的解决方法

Jenkins 构建失败:Xcode 找不到匹配的配置文件

GitLab:找不到您要查找的项目。致命:在 Jenkins 中构建时无法从远程存储库中读取

反应本机iOS构建问题在提供的路径中找不到应用程序包

导入 gradle 项目 Eclipse 时出错:找不到目标