gpt4 book ai didi

java - Gradle 'error: package com.google.common.collect does not exist'

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:42:34 30 4
gpt4 key购买 nike

我正在跟踪一个小测试脚本并为其提供第一段代码以使其变为绿色。代码是java,测试是gradle with java。 Java 是 Mac OSX“El Capitan”上的版本“1.8.0_60”。 gradle 是 2.8 版本。

使用gradle build后,出现如下错误:

$ gradle build
:compileJava
/Users/rsalazar/exercism/java/etl/src/main/java/Etl.java:1: error: package com.google.common.collect does not exist
import com.google.common.collect.ImmutableMap;
^
/Users/rsalazar/exercism/java/etl/src/main/java/Etl.java:9: error: cannot find symbol
return ImmutableMap.of("a", 1);
^
symbol: variable ImmutableMap
location: class Etl
2 errors
:compileJava FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':compileJava'.
> Compilation failed; see the compiler error output for details.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 2.597 secs

这是 build.gradle 文件:

apply plugin: "java"
apply plugin: "eclipse"
apply plugin: "idea"

repositories {
mavenCentral()
}

dependencies {
testCompile "junit:junit:4.10"
testCompile "org.easytesting:fest-assert-core:2.0M10"
testCompile "com.google.guava:guava:16+"
}

这是测试:(EtlTest.java)

import com.google.common.collect.ImmutableMap;
import org.junit.Test;

import java.util.Arrays;
import java.util.List;
import java.util.Map;

import static org.fest.assertions.api.Assertions.assertThat;

public class EtlTest {
private final Etl etl = new Etl();

@Test
public void testTransformOneValue() {
Map<Integer, List<String>> old = ImmutableMap.of(1, Arrays.asList("A"));
Map<String, Integer> expected = ImmutableMap.of("a", 1);

assertThat(etl.transform(old)).isEqualTo(expected);
}
}

下面是被测代码:(Etl.java)

import com.google.common.collect.ImmutableMap;

import java.util.Arrays;
import java.util.List;
import java.util.Map;

public class Etl {
public Map<String, Integer> transform(Map <Integer, List<String>> from) {
return ImmutableMap.of("a", 1);
}
}

我不是在寻求通过测试的帮助。只是帮助使用 gradle 进行测试编译。很抱歉,我在使用提供的错误消息进行编译时被卡住了。我在网上找不到任何帮助。非常感谢!

最佳答案

因为您还需要 ImmutableMap 来编译源代码(不仅是测试源代码),所以您需要更改这一行:

testCompile "com.google.guava:guava:16+"

为此:

compile "com.google.guava:guava:16+"

这将使 guava 在编译时可用于源代码,从而解决问题。

关于java - Gradle 'error: package com.google.common.collect does not exist',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33287822/

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