Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将番石榴23.0导入Eclipse光子4.8.0_Java_Eclipse_Jar_Guava - Fatal编程技术网

Java 将番石榴23.0导入Eclipse光子4.8.0

Java 将番石榴23.0导入Eclipse光子4.8.0,java,eclipse,jar,guava,Java,Eclipse,Jar,Guava,我正在学习国际象棋教程,并试图在Eclipse4.8.0的项目中添加Guava23.0JAR。(按照教程中的要求) 但是,在添加从以下位置下载的Guava jar文件后,我遇到一个导入无法解决的错误: 错误在以下行中: import com.google.common.collect.ImmutableMap; 我试过两个最受欢迎的答案,但仍然遇到同样的问题 我是否遗漏了一个步骤或添加了错误的Guava jar文件?有人好心地告诉我这件事 package com.chess.engine.bo

我正在学习国际象棋教程,并试图在Eclipse4.8.0的项目中添加Guava23.0JAR。(按照教程中的要求)

但是,在添加从以下位置下载的Guava jar文件后,我遇到一个导入无法解决的错误:

错误在以下行中:

import com.google.common.collect.ImmutableMap;
我试过两个最受欢迎的答案,但仍然遇到同样的问题

我是否遗漏了一个步骤或添加了错误的Guava jar文件?有人好心地告诉我这件事

package com.chess.engine.board;

import java.util.HashMap;
import java.util.Map;

import com.chess.engine.pieces.Piece;
import com.google.common.collect.ImmutableMap; //error underline at com.google

public abstract class Tile {

    protected final int tileCoordinate;

    private static final Map<Integer, EmptyTile> EMPTY_TILES = createAllPossibleEmptyTiles();

    private static Map<Integer, EmptyTile> createAllPossibleEmptyTiles() {

        final Map<Integer, EmptyTile> emptyTileMap = new HashMap<>();

        for(int i = 0; i < 64; i++) {
            emptyTileMap.put(i,  new EmptyTile(i));
        }

        return ImmutableMap.copyOf(emptyTileMap);
    }

    Tile(int tileCoordinate){
        this.tileCoordinate = tileCoordinate;
    }

    public abstract boolean isTileOccupied();

    public abstract Piece getPiece();

    public static final class EmptyTile extends Tile{

        EmptyTile(int coordinate){
            super(coordinate);
        }

        @Override
        public boolean isTileOccupied() {
            return false;
        }

        @Override
        public Piece getPiece() {
            return null;
        }
    }

    public static final class OccupiedTile extends Tile{

        private final Piece pieceOnTile;

        OccupiedTile(int tileCoordinate, Piece pieceOnTile){
            super(tileCoordinate);
            this.pieceOnTile = pieceOnTile;
        }

        @Override
        public boolean isTileOccupied() {
            return true;
        }

        @Override
        public Piece getPiece() {
            return this.pieceOnTile;
        }
    }
}
包com.chess.engine.board;
导入java.util.HashMap;
导入java.util.Map;
导入com.chess.engine.pieces.Piece;
导入com.google.common.collect.ImmutableMap//com.google上的下划线错误
公共抽象类平铺{
受保护的最终整数坐标;
私有静态最终映射空_TILES=createAllPossibleEmptyTiles();
私有静态映射createAllPossibleEmptyTiles(){
final Map emptyTileMap=new HashMap();
对于(int i=0;i<64;i++){
put(i,new-EmptyTile(i));
}
返回ImmutableMap.copyOf(EmptyTimeMap);
}
平铺(整块平铺坐标){
this.tileCoordinate=tileCoordinate;
}
公共抽象布尔值()被占用;
公共抽象片段getPiece();
公共静态最终类清空扩展平铺{
清空文件(整数坐标){
超级(坐标);
}
@凌驾
公共布尔值(){
返回false;
}
@凌驾
公共件getPiece(){
返回null;
}
}
公共静态最终类占用文件扩展了平铺{
私人最终作品;
占用文件(int TileCoordination,Piece pieceOnTile){
超级(TileCoordination);
this.pieceOnTile=pieceOnTile;
}
@凌驾
公共布尔值(){
返回true;
}
@凌驾
公共件getPiece(){
返回此.pieceOnTile;
}
}
}

以上评论中@howlger提供的解决方案。我删除了默认包中的
module info.java
,解决了错误。

如果默认包中有
module info.java
,请删除此文件。否则,请在问题中添加Project>Properties:Java构建路径选项卡库的屏幕截图。@howlger我删除了
模块info.Java
,错误得到解决。非常感谢你。