2012-05-18 4 views
4

До сих пор я использовал только стандартные библиотеки в своих программах. Я просто создаю простое консольное приложение, и я не использую IDE, просто простой текстовый редактор (потому что на данный момент мне не нужно что-то более сложное).Включить gson в мою программу java

Я не знаю, где разместить файл jar, который я загрузил, и я также не знаю, как правильно его называть. Я читал что-то о включении пути? Но я не уверен, понимаю ли я.

Я просто простая структура папок так:

  • проекта
    • Class.java
    • Class.class
    • gson-2.2.1.jar

Я пробовал с этим:

import com.google.gson.Gson; 
import com.google.gson.JsonArray; 
import com.google.gson.JsonParser; 

Но я понимаю, что его не существует.

+1

Вам нужно, чтобы gson jar был в вашем пути к классам (как при компиляции, так и при выполнении). – esej

+0

@esej, но как мне это сделать? – Jinx

+0

Jinx See, @Jememy Heilers ответ. О, и начните использовать какую-то IDE. – esej

ответ

6

Этот ответ предполагает, что вы используете командыи java в среде * nix.

Чтобы скомпилировать ваш код, вы должны поместить банку и ваши файлы Java в путь к классу с флагом -cp. Для этого небольшого примера вам действительно нужно предоставить файл Java, который имеет ваш основной метод. Это связано с тем, что компилятор будет искать любые файлы Java, которые он должен скомпилировать вместе с YourClass.java, ища их в пути к классам.

javac -cp /path/to/java/files:/path/to/gson-2.2.1.jar YourClass.java 

Для запуска кода вам необходимо сделать то же самое, но только обратиться к классу с помощью основного метода.

java -cp /path/to/class/files:/path/to/gson-2.2.1.jar YourClass 

Имейте в виду, что /path/to/java/files и /path/to/class/files каталоги должны указывать на корневой директории ваших пакетов (если вы используете пакеты, которые вы должны).

+1

Наверное, очевидно, но на всякий случай это не так, если gson.jar находится в том же каталоге, что и ваш .java. Это не так, убедитесь, что вы даете правильный путь из текущего каталога в свои банки или он все равно не найдет его :) – scrappedcola

+0

Спасибо, но могу ли я как-то избежать использования пути к классу при запуске программы, так как пользователю придется добавить, что при запуске? – Jinx

+0

@Jinx, вам нужно как-то установить classpath. Вы можете создать сценарий Bash (для * nix) или пакетный скрипт (для окон). Кроме того, вы можете создать uberjar с включенным gson.jar и сделать исполняемый файл jar. – Jeremy

0

к классам включить и текущий каталог (.) (так что компилятор находит ваш класс) и gson-2.2.1.jar (так что компилятор находит классы в этой баночке)

Путь к классам точно так же как evnrionmental переменной PATH и вам потребуются различные разделители для различных операционных систем (: для * NIX и ; для Windows) - по крайней мере, для JAVAC

для JAVAC вы можете установить путь к классам напрямую, указав опцию -cp. В качестве альтернативы, установите переменную окружения CLASSPATH (как и для PATH env. Var.)

Смежные вопросы