gpt4 book ai didi

java - 如何使用渐变。 Java 和 Groovy 在一起?

转载 作者:太空狗 更新时间:2023-10-29 22:50:11 26 4
gpt4 key购买 nike

我正在尝试在 IntelliJ 13 中使用 Gradle 项目,但我一直遇到以下问题:

  • Java 文件看不到 Groovy 文件
  • IntelliJ 似乎忘记了 Groovy 并提示我为其配置 GDK

我读到 groovy 插件允许 Groovy 和 Java 在混合自己的源路径中,但 Java 想要它自己的。所以我有以下目录结构:

  • src\main\groovy
  • src\main\java
  • src\test\groovy

我混合使用了 Java 和 Groovy 类

这是我的build.gradle:

apply plugin: 'java'
apply plugin: 'groovy'
apply plugin: 'eclipse'
apply plugin: 'idea'
apply plugin: 'spring-boot'
apply plugin: 'jacoco'
apply plugin: 'war'


buildscript {
repositories {
maven { url "http://repo.spring.io/libs-snapshot" }
mavenLocal()
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:1.0.0.RC4")
}
}

jar {
baseName = 'my-app'
version = '0.1.0'
}

repositories {
mavenCentral()
maven { url "http://repo.spring.io/libs-snapshot" }
}

dependencies {
compile("org.springframework.boot:spring-boot-starter-web")
compile("org.springframework.boot:spring-boot-starter-data-jpa:1.0.0.RC4")
compile("org.springframework:spring-orm:4.0.0.RC1")
compile("org.hibernate:hibernate-entitymanager:4.2.1.Final")
compile("com.h2database:h2:1.3.172")
compile("joda-time:joda-time:2.3")
compile("org.thymeleaf:thymeleaf-spring4")
compile("org.codehaus.groovy.modules.http-builder:http-builder:0.7.1")
compile ('org.codehaus.groovy:groovy-all:2.2.1')

testCompile('org.spockframework:spock-core:0.7-groovy-2.0') {
exclude group: 'org.codehaus.groovy', module: 'groovy-all'
}
testCompile('org.codehaus.groovy.modules.http-builder:http-builder:0.7+')
testCompile("junit:junit")
}

jacocoTestReport {
<!-- not sure this is right -->
group = "Reporting"
description = "Generate Jacoco coverage reports after running tests."
}

task wrapper(type: Wrapper) {
gradleVersion = '1.11'
}

这是我在运行“gradle clean build”时遇到的构建错误:

...src/main/java/com/product/service/FileDownloadService.java:24:  cannot find symbol 
symbol : class FileDownload
location: class com.product.service.FileDownloadService

private FileDownload fileDownload;

如果我将所有内容都制作成 Java,那么我就不会遇到任何编译或执行错误。

最佳答案

如上所述,使用 groovy 插件编译也会编译 java 类。我们只需要确保 java 编译任务没有在源代码和 groovy 任务上触发...

为此,保留源文件夹(例如:在 eclipse 中),您可以在 build.gradle 中使用以下改进的代码段:

apply plugin: 'groovy'
//...
sourceSets {
main {
java { srcDirs = [] } // no source dirs for the java compiler
groovy { srcDirs = ["src/main/java", "src/main/groovy"] } // compile everything in src/ with groovy
}
}

如果您只指定groovy { srcDir "src"},您的main/groovymain/java 文件夹被识别为包在 eclipse 中...

关于java - 如何使用渐变。 Java 和 Groovy 在一起?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22369033/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com