java - CI 构建无法识别 JUnit 和其他依赖项

标签 java eclipse git junit

背景:

所以我的团队正在使用 Microsoft 的 git 服务,并且我们已经设置了一些 CI 测试。我们没有使用 Maven,项目通过 Eclipse Microsoft Team 服务插件连接到远程服务器,但我尝试主要通过命令行与远程存储库进行交互。

当前策略:

我不太熟悉如何处理 Java 项目的远程存储库上的依赖关系,但我尝试简单地将 .jar 依赖关系与其余源代码一起推送到我们的构建路径中(我知道它们很大,并且可能有更好的方法来做到这一点)。

问题:

当我推送 .jar 文件时,CI 测试仍然失败,并出现以下错误:

src\JBLASTests.java(1):src\JBLASTests.java(1,): error : [javac] d:\a\1\s\
  src\JBLASTests.java:1: error: package org.junit does not exist
src\JBLASTests.java(5):src\JBLASTests.java(5,): error : [javac] d:\a\1\s\
  src\JBLASTests.java:5: error: package org.jblas does not exist

然后还有更多与由于找不到包而导致符号丢失相关的错误报告。

问题:

1) 存储库上还需要什么才能使构建工作?

2)除了 Maven 之外,还有更好的方法将库链接到存储库吗?

(我并不反对使用 Maven,我只是想暂时找到一个更简单的解决方案)。

如果这是重复的,我们深表歉意。我进行了搜索,但找不到有关此情况的任何其他帖子。

最佳答案

看起来设置 CI 测试的开发人员使用 Ant 构建任务设置了它们,尽管这不是我们当前处理依赖项的方式。感谢 howgler 指出 CI 的构建方式可能与我在本地的构建方式不同。我将发布此答案,以防其他人遇到此问题并且不考虑检查 CI build设置(并适当更新标题)。

类(class)

确保 CI 构建任务与您在本地构建的方式相同。在添加依赖项并尝试推送它们之前,您的构建可能会成功,因此您的 CI 设置不正确可能会产生误导。

关于java - CI 构建无法识别 JUnit 和其他依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45777433/

相关文章:

java - 在 JUnit 测试类中哪里配置 log4j?

linux - 在 Eclipse.ini 之外设置 JVM maxperm 大小

android - 无法解析 Landroid/support/v4/app/FragmentActivity 的父类(super class)

git - diff.mnemonicprefix 有什么作用?

java - Log4J dailyrolling appender 截断每日文件

java - 同时编译10000个java项目

java - 从命令行使用 Maven 处理多个 Eclipse 项目

javascript - npm install 说找不到文件

使用 git 的 Django 部署,包括与生产相关的文件

java - 在java中使用3D设计