背景:
所以我的团队正在使用 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/