Tag: gradle

同一个库的多个版本

我有项目A,曾经有模块A1,使用dagger v.1.2.2。 现在我想添加项目A,模块A2,它依赖于dagger v.2.0。 但我不能因为这两个匕首库存冲突。 我可以在不同的Android模块中以某种方式处理多个版本的库吗?

如何为Gradle项目生成类路径?

我有一个包含多个包的gradle项目。 构建之后,每个包都在build / libs中生成jar文件。 外部jar依赖项被拉入〜/ .gradle。 我现在想从命令行本地运行具有适当类路径的服务。 为此,我正在编写一个构造类路径的脚本。 问题是脚本无法理解所有外部依赖项,因此无法构造类路径。 有没有办法让gradle帮助解决这个问题? 理想情况下,我想在构建结束时将所有依赖项转储到一个文件夹中。

Gradle:如何使用jacoco为Integration测试生成覆盖率报告

我是新手。 我使用以下代码。 但它会为unit testing用例生成覆盖范围。 但它没有为集成测试用例生成。 我在src / test / java包中有我的测试类。 test { dependsOn jettyRunWar ignoreFailures true finalizedBy jettyStop } apply plugin: ‘jacoco’ jacocoTestReport { group = “Reporting” description = “Generate Jacoco coverage reports after running tests.” additionalSourceDirs = files(sourceSets.main.allJava.srcDirs) }

gradle中的传递文件依赖项

我想控制多项目Java构建中的哪些依赖项是可传递的。 我目前的解决方案是在根项目中设置“导出”配置: allprojects { configurations { export { description = ‘Exported classpath’ } compile { extendsFrom export } } } 项目A具有多个文件依赖项: dependencies { compile files(‘A.jar’, ‘B.jar’) export files(‘C.jar’) } 项目B依赖于项目A,但只有C.jar应该在类路径上进行编译,因此添加: dependencies { export project(path: ‘:A’, configuration:’export’) } 这会产生所需的结果, A.jar和B.jar不在类路径上,但C.jar在类路径上进行编译。 我不确定这是否是“gradle”做事的方式。 要配置传递性,我宁愿为项目A中的依赖项指定属性或配置闭包,而不是使用不同的“导出”配置。 这可能是文件依赖,还是有另一种方法来实现这一点?

如何从gradle运行Junit TestSuite?

我正试图在我的项目中从Ant构建迁移到Gradle。 有一堆测试用例(junit.framework.TestCase的子类)和一些测试套件(junit.framework.TestSuite的子类)。 Gradle自动选择要运行的所有测试用例(junit.framework.TestCase的子类),而不是套件(junit.framework.TestSuite的子类)。 我可能可以通过调用ant.junit来运行它。 但是,我觉得应该有一种原生的简单方法来强制gradle选择并运行。 我在文档中找不到任何内容。 我错过了什么吗?

CTRL + C w / Spring Boot&Gradle Kills Gradle Daemon

我使用Spring Boot Gradle插件启动Tomcat服务器和我的应用程序。 我通过gradle bootRun启动Tomcat服务器。 我还启用了Gradle守护进程,希望Gradle构建更快。 但是,启用守护进程是徒劳的。 每次我通过Ctrl + C停止服务器,然后使用gradle bootRun再次启动服务器,我会遇到以下消息: Starting a new Gradle Daemon for this build (subsequent builds will be faster). Ctrl + C不仅会停止Spring Boot的Tomcat服务器,还会杀死Gradle守护程序。 这违背了Gradle的守护进程模式的目的。 有没有更好的方法我应该停止服务器,希望通过同一个终端中的命令行界面我使用gradle bootRun启动tomcat,这使Gradle守护程序保持活动状态?

org.apache.http.impl.io.DefaultHttpRequestWriterFactory中的NoSuchFieldError INSTANCE

java version “1.7.0_71” Gradle 2.1 你好, UPDATE: 依赖关系 gradle dependencies | grep httpcore | +— org.apache.httpcomponents:httpcore:4.3.3 | +— org.apache.httpcomponents:httpcore:4.3.3 | +— org.apache.httpcomponents:httpcore:4.3.3 | +— org.apache.httpcomponents:httpcore:4.3.3 | | | | | +— org.apache.httpcomponents:httpcore:4.1 -> 4.3.3 | +— org.apache.httpcomponents:httpcore:4.3.3 | | | | | +— org.apache.httpcomponents:httpcore:4.1 -> 4.3.3 这是否意味着我有4.1这是4.3.3的软链接? 看起来很奇怪,因为当我打印出类加载器正在加载它时,似乎加载4.3.3: /home/steve/.gradle/caches/modules-2/files-2.1/org.apache.httpcomponents/httpcore/4.3.3/f91b7a4aadc5cf486df6e4634748d7dd7a73f06d/httpcore-4.3.3.jar似乎很奇怪。 当我尝试运行我的httpClient时,我不断收到此错误。 一切都编好了。 java.lang.NoSuchFieldError: INSTANCE at org.apache.http.impl.io.DefaultHttpRequestWriterFactory.(DefaultHttpRequestWriterFactory.java:52 […]

为什么我的Gradle会因退出代码137而死亡?

我一直在尝试编译和测试一个大项目来使用Gradle。 测试运行正常,直到他们意外死亡。 我挖了一下,资源说这是由于内存问题。 如果我减少套件中的测试数量,它运行正常。 我将内存增加了4倍,增加了调试级别,但我仍然没有遵循导致这种情况的原因。 这是一个非常神秘的堆栈跟踪。 最后一行(向右滚动)显示我定义的内存设置。 … … … 1125 tests completed, 30 failed, 9 skipped :test FAILED :test (Thread[Daemon worker,5,main]) completed. Took 8 mins 39.684 secs. FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ‘:test’. > Process ‘Gradle Test Executor 1’ finished with non-zero exit value 137 […]

如何在Gradle中支持多种语言(Java和Scala)的多个项目?

我正在尝试将过时的Ant构建转换为Gradle。 该项目包含大约Java 50子项目和10个Scala子项目。 Java项目仅包含Java,Scala项目仅包含Scala。 每个项目都是由Java和Scala构建的,这大大减慢了我们的构建速度。 我想在root build.gradle文件中放置尽可能多的通用逻辑,如下所示: subprojects { apply plugin: ‘java’ apply plugin: ‘scala’ sourceCompatibility=1.7 targetCompatibility=1.7 sourceSets { main { scala { srcDir ‘src’ } java { srcDir ‘src’ } } test { scala { srcDir ‘test’ } java { srcDir ‘test’ } } } repositories { mavenCentral() } dependencies { scalaTools “org.scala-lang:scala-compiler:2.9.3” compile […]

如何跨Gradle项目共享测试类?

我正在使用Gradle来构建和测试我的项目。 我有两个项目: ProjA contains src\test\java\BaseTest.java ProjB contains src\test\java\MyTest.java MyTest extends BaseTest 当我运行ProjB.gradle ,如何从ProjA中查看BaseTest类? 我尝试添加: dependencies { testCompile project(‘ProjA’) } 但它没有用。