Pregunta

Bien, decidí trabajar un poco más en mis archivos de prueba en Java.Decidí .rar la carpeta desde mi PC de casa y llevarla a mi PC de trabajo.¿El problema?Cuando compilo, obtengo:

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

Eso es gracioso.Dejé mis archivos intactos y funcionó bien en mi PC doméstica y ahora aparece esto.Los archivos están muy bien configurados.Tengo mi com.google.gson en la carpeta que contiene los archivos JSON Java de Google y tengo mi archivo googleRead.java en el directorio correcto...y mi map1.txt está ahí también...¿extraño?Creo que sí.

Aquí está mi archivo:

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; }
        }

}
¿Fue útil?

Solución

El primer error fue:

package com.google.gson does not exist

Esto significa que Biblioteca GSON de Google no fue encontrado en javacEl camino de clases.Parece que ya has descargado el GSON JAR en tu PC del trabajo.Hazlo primero si aún no lo has hecho.

Luego, agregue el JAR GSON al classpath y vuelva a intentar la compilación.Los detalles de cambiar su classpath dependen de su conjunto de herramientas: los pasos son superficialmente bastante diferentes para un IDE en comparación con la invocación manual de javac en la línea de comando.Si no está seguro de cómo manipular el classpath y está utilizando la línea de comandos, consulte el manual o buscalo en Google.No pude entender el diseño de su archivo a partir de la pregunta, por lo que no puedo ser más específico sin más información.

Una vez que resuelva este problema, podría considerar usar una herramienta como experto apache para automatizar la gestión de dependencias, la compilación y el empaquetado.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top