0

わかりましたので、Java でテスト ファイルを処理することにしました。ホーム PC からフォルダーを .rar し、それを職場の PC に持ち込むことにしました。問題?コンパイルすると、次のようになります。

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

それはおかしいです。私は自分のファイルをそのままにして、自宅の PC で問題なく動作しました。ファイルはきれいに設定されています。Google JSON Java ファイルを含むフォルダーに com.google.gson があり、正しいディレクトリに googleRead.java ファイルがあります...そして、map1.txt もそこにあります...変ですか? そう思います。

これが私のファイルです:

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

}
4

1 に答える 1

1

最初のエラーは次のとおりです。

package com.google.gson does not exist

これは、Google GSON ライブラリが のクラスパスに見つからなかったことを意味しますjavac。既に GSON JAR を職場の PC にダウンロードしているようです。まだ行っていない場合は、最初にそれを行います。

次に、GSON JAR をクラスパスに追加して、コンパイルを再試行します。クラスパスの変更の詳細は、ツールセットによって異なります。IDE の手順はjavac、コマンド ラインで手動で呼び出す場合と比べて、表面的にはまったく異なります。クラスパスの操作方法がわからず、コマンドラインを使用している場合は、マニュアルを参照するか、Google で検索してください。質問からあなたのファイル レイアウトを理解できなかったので、これ以上の情報がなければ具体的には言えません。

この問題を解決したら、Apache Mavenなどのツールを使用して、依存関係の管理、コンパイル、およびパッケージ化を自動化することを検討してください。

于 2010-07-20T18:09:34.080 に答える