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

IntelliJ 13从Gradle dependencies中选择Groovy SDK

宗政浩慨
2023-03-14

对于我的Android项目,我想为我的集成测试运行一个测试HTTP服务器。我创建了一个配置并编写了一个任务来运行我的Groovy脚本来设置HTTP服务器

configurations {
  stubs {
    description = "Classpath for HTTP server for stubbed data"
    visible = false
  }
}

dependencies {
  compile "com.android.support:support-v13:+"

  stubs "org.codehaus.groovy:groovy:2.3.4"
  stubs "com.github.tomakehurst:wiremock:1.46"
}

当我编辑Groovy脚本时,IntelliJ告诉我Groovy SDK尚未配置。

我如何让IntelliJ使用Groovy SDK,它是stubs配置的一部分?我无法使用Gradle获取的库创建Groovy SDK配置,因为IntelliJ告诉我Groovy发行版被破坏了,因为无法确定版本号。

我必须手动下载发行版吗?

共有1个答案

黎玺
2023-03-14

解决方案是将HTTP服务器的项目分离到一个单独的项目中,并使用Gradle的多项目功能来设置Android测试,以依赖于正在启动的HTTP服务器。因为单独的项目是Groovy项目,IntelliJ从项目的依赖项中读取要使用的Groovy版本,一切都很好。

dependencies {
  compile "com.android.support:support-v13:+"

  stubs project(":integration-server")
}

/*
 * The android plugin defers creation of tasks in such a way that they can't be accessed eagerly as usual
 * @see http://stackoverflow.com/questions/16853130/run-task-before-compilation-using-android-gradle-plugin
 */
gradle.projectsEvaluated {
  connectedAndroidTest.dependsOn(":integration-server:startBackgroundServer")

  // Note: finalizedBy is still @Incubating
  connectedAndroidTest.finalizedBy(":integration-server:stopBackgroundServer")
}

集成服务器/build.gradle

apply plugin: "groovy"
apply plugin: "spawn"

dependencies {
  compile "org.codehaus.groovy:groovy:2.3.4"
  compile "org.codehaus.groovy:groovy-ant:2.3.4"
  compile "com.github.tomakehurst:wiremock:1.46"
}

task startBackgroundServer(type: SpawnProcessTask, dependsOn: "build") {
  def cp = sourceSets.main.runtimeClasspath.asPath

  command "java -cp $cp server"
  ready "Started DelayableSocketConnector@0.0.0.0:8089"
}

task stopBackgroundServer(type: KillProcessTask)

为了防止Gradle构建阻塞,我正在使用Gradle Spawn插件在后台启动HTTP服务器。

 类似资料:
  • 问题内容: 我正在尝试从以下查询中获取行数。我只得到行计数为1,但有35条记录。您能否让我知道如何从内部查询中获取计数? 谢谢 问题答案: 您缺少FROM,需要为子查询指定别名。

  • 我正在尝试从一个select表单中获取一个时间值。我在代码中看不到任何错误,尝试更改所有类名和变量,但值仍然没有被get select。(提交表单后我看不到所选的值) 代码添加如下:

  • 在Spring的NamedParameterJdbcTemplate中。如何使用Spring版本3.1查询以执行“Select*from Student”以返回列表,而不提供任何参数。x 根据http://docs.spring.io/spring/docs/3.1.2.RELEASE/javadoc-api/org/springframework/jdbc/core/namedparam/Nam

  • 问题内容: 在查看查询日志时,我看到一个没有解释的奇怪模式。 在几乎每个查询之后,我都有“从DUAL中选择1”。 我不知道这是从哪里来的,而且我当然没有明确地进行查询。 日志基本上如下所示: 有人遇到过这个问题吗? MySQL版本:5.0.51 驱动程序:使用JDBC的Java 6应用程序。mysql-connector-java-5.1.6-bin.jar 连接池:commons-dbcp 1.

  • 我想使用JPA 2.0 CriteriaBuilder创建以下SQL查询: 以下是我的课程: Profil: 角色: 角色简介: 我想做的是创建一个函数,使用JPA通过ID获取。 这是我开始做的,但我对JPA是新手,我不知道该怎么做: 我该怎么做?

  • 下面是我得到的错误。 下面是HTML DOM

  • SQL可能如下所示: 如何将said SQL转换为querydsl? 编辑:因为它受到混淆:是的,这个例子是愚蠢的。不,我不想“优化”SQL。我所需要的只是一些生成完全相同(愚蠢的)SQL的QueryDSL代码。或者任何其他查询DSL代码生成任何类型的。如果可能的话。

  • 我已经记录了用于从日期选择器中选择日期的selenium代码。在运行测试用例时,日期选择器会弹出并正确突出显示所选日期。但是没有选择日期。代码如下所示:- 此异常仅出现在记录的代码中。我使用的是selenium-server-standalone-2 . 45 . 0 jar。