当前位置: 首页 > 知识库问答 >
问题:

强制JUnit gradle任务在项目中使用jar构建

单于旭东
2023-03-14

我有一个gradle项目,它在build/libs文件夹中生成一个jar(myfoo.jar)。我有几个JUnit测试来测试myfoo.jar中的类。JUnits运行得很好,只是在运行测试时,测试在类路径中使用bin/运行,而类加载器并没有真正加载build/libs/myfoo.jar。测试使用类路径中的bin/运行。所以JUnits只通过了几个。

对于gradle测试任务,有没有办法从类路径中删除bin/,而包含build/libs/myfoo.jar?

共有1个答案

闻安宜
2023-03-14

Id使用以下代码修复了该问题。该语句修改测试的类路径,并在类路径之前使用gradle创建的jar。

test {
    classpath = "$buildDir/libs/"+jar.archiveName,
                 "$buildDir/classes/test",
                 configurations.runtime 
}

Gradle Fourm https://discuss.Gradle.org/t/force-junit-gradle-task-to-use-the-jar-build-in-the-project/18543获取详细信息。

 类似资料:
  • 这里有两个由 Java plugin 创建的十分重要的 task,它们依赖于前面所述的标志性 task: assemble jar 该 task 创建所有输出 check test 该 task 执行所有测试 jar task 本身直接或者间接依赖于其他 task: classes task 将会被调用于编译 Java 代码。testClasses task 用于编译测试,但是很少被调用,因为 t

  • 在我的例子中,我有许多子项目和子/子项目的多项目构建。 然后,我希望能够从不同的子项目调用此任务,以生成不同的JAR集(基于项目依赖关系)。这样我就可以为不同的子项目创建单独的分布。 我已经到了可以以一种丑陋的方式列出所有项目DEP JAR的阶段: 我正在执行一项任务,将所有项目jar收集在一个目录中,以创建应用程序的分发。有什么干净的方法来实现这一点吗? 谢谢!

  • 问题内容: 我正在使用JDeveloper 11g开发桌面应用程序。我想使整个项目jar在Java环境中都可以运行。.如果我只使用标准Java库jar可以正常工作,但是我的项目包含外部库,例如JfreeChart,Comm,Hibernate3等…当我尝试制作jar时它显示了错误,该如何显示整个项目以及外部库的内容。 谢谢 问题答案: 请按照以下说明进行操作。 右键单击项目,然后选择属性。 单击部

  • 我在使用Maven和'Eclipse Kepler Javaee'。我在'maven-compiler-plugin'中有这样的内容:

  • 问题内容: 我想在构建时使用gradle在我的项目中包含salesforce的enterprise.jar文件。有人可以帮助我如何在项目的src / main / resources文件夹中包含一个本地jar文件。 问题答案: 文档中对此进行了说明。应该执行以下操作: 我不会把罐子放进去。它不是项目的资源,而是编译依赖项。我会将其放在lib目录中。

  • 问题内容: 我有一个Eclipse项目,我想将我的Java项目自动构建到JAR中。我知道我可以选择将项目导出到JAR。如果我单击右键;但我真正要寻找的是,就像Eclipse一样,它会自动构建项目的文件并将其放置在目标文件夹中;它还应自动构建一个JAR,并在某些或特定位置复制最新的JAR。 是否可以通过这种方式配置Eclipse以自动构建JAR? 只是为了让大家清楚,耐心地回答我的问题;我并不是将A