Pergunta

OK, então decidi trabalhar mais em meus arquivos de teste em Java.Decidi .rar a pasta do meu PC doméstico e trazê-la para o meu PC de trabalho.O problema?Quando compilo - recebo:

C:\Documents and Settings\djasnowski\Desktop\gJson\readGoogle.java:1: package com.google.gson does not exist
import com.google.gson.*;
^
C:\Documents and Settings\djasnowski\Desktop\gJson\readGoogle.java:37: cannot find symbol
symbol  : class Gson
location: class readGoogle
    data = new Gson().fromJson(fileString, Data.class);
               ^
2 errors

Isso é engraçado.Deixei meus arquivos intactos e funcionou bem no meu PC doméstico e agora entendi.Os arquivos estão bem configurados.Eu tenho meu com.google.gson na pasta que contém os arquivos JSON Java do Google e tenho meu arquivo googleRead.java no diretório correto ...e meu map1.txt também está lá...esquisito?Eu penso que sim.

Aqui está meu arquivo:

import com.google.*;

import java.util.*;
import java.io.*;

public class readGoogle {

    public static String MapTitle;
    public static Data data;
    public static Item item;
    public static String dan;
    public static FileReader fr;


        public static void main(String[] args) {
try {
    fr = new FileReader("map1.txt");
}catch(FileNotFoundException fne) {
    fne.printStackTrace();
}
        StringBuffer sb = new StringBuffer();
        char[] b = new char[1000];
        int n = 0;
        try {
        while ((n = fr.read(b)) > 0) {
             sb.append(b, 0, n);
         }
         }catch(IOException rex) {
             rex.printStackTrace();
         }
        String fileString = sb.toString();

    try {
    data = new Gson().fromJson(fileString, Data.class);
    }catch (Exception er) {
        er.printStackTrace();
    }

    System.out.println("Name of map: " + data.getTitle());
    System.out.println("File of map: " + data.getName());
    System.out.println("Current Map: " + data.getCurrentMap());
    System.out.println("Right Map: " + data.getRightMap());

    }

public static class Item {
        public static String name;
        public static int x;
        public int y;

        public static String getName() { return name; }
        public static int getX() { return x; }
        public int getY() { return y; }

        public void setName(String name) { this.name = name; }
        public void setX(int x) { this.x = x; }
        public void setY(int y) { this.y = y; }
    }

      public static class Data {
            private String name;
            private String title;
            private int currentMap;
            private int leftMap;
            private int rightMap;
            private int upMap;
            private int downMap;
            private List<Item> items;
            private int[][] map;

            public String getName() { return name; }
            public String getTitle() { return title; }
            public int getCurrentMap() { return currentMap; }
            public int getUpMap() { return upMap; }
            public int getDownMap() { return downMap; }
            public int getLeftMap() { return leftMap; }
            public int getRightMap() { return rightMap; }
            public List<Item> getItems() { return items; }
            public int[][] getMap() { return map; }

            public void setName(String name) { this.name = name; }
            public void setTitle(String title) { this.title = title; }
            public void setCurrentMap(int currentMap) { this.currentMap = currentMap; }
            public void setItems(List<Item> items) { this.items = items; }
            public void setMap(int[][] map) { this.map = map; }
        }

}
Foi útil?

Solução

O primeiro erro foi:

package com.google.gson does not exist

Isto significa que Biblioteca Google GSON não foi encontrado em javaccaminho de classe.Parece que você já baixou o GSON JAR para o seu PC de trabalho.Faça isso primeiro, se ainda não o fez.

Em seguida, adicione o GSON JAR ao classpath e tente compilar novamente.As especificidades da alteração do seu caminho de classe dependem do seu conjunto de ferramentas - as etapas são superficialmente bem diferentes para um IDE em comparação com a invocação manual de javac na linha de comando.Se você não tiver certeza de como manipular o caminho de classe e estiver usando a linha de comando, consulte o manual ou Pesquise no Google.Não consegui entender o layout do seu arquivo com a pergunta, então não posso ser mais específico sem mais informações.

Depois de resolver esse problema, você pode considerar usar uma ferramenta como Apache Maven para automatizar o gerenciamento, compilação e empacotamento de dependências.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top