Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: Проблема с запуском Java классов (.class)  (Прочитано 18278 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Andrody

  • Автор темы
  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Здравствуйте, помогите пожалуйста
я уже облазил почти все форумы в надежде решить свою проблему
но так и ничего не помогло

Файл sam.java содержит:

class test{
     public static void main(String s[]){
        System.out.println("Hello!");
        }
}


поправочка:

я изменил s[] на args[]
но ничего не изменилось
пишу в терминале GNOME:

$ export
у меня нет переменной CLASSPATH
по этому смело пишу:

$ export CLASSPATH="/home/andrey/Java"
проверяю:
$ exportтеперь есть строка:

declare -x CLASSPATH="/home/andrey/Java"
теперь:

$ javac sam.java
выдает:

javac: file not found: sam.java
Usage: javac <options> <source files>
use -help for a list of possible options

ладно думаю я, и прописываю путь:

$ javac /home/andrey/Java/sam.java
всё отлично, создаеться файл test.class

далее пишу:

$ java test
и мне выдает:

Exception in thread "main" java.lang.UnsupportedClassVersionError: test : Unsupported major.minor version 51.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:634)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:277)
at java.net.URLClassLoader.access$000(URLClassLoader.java:73)
at java.net.URLClassLoader$1.run(URLClassLoader.java:212)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
Could not find the main class: test. Program will exit.
пробую:

$ java /home/andrey/Java/test
результат:

Exception in thread "main" java.lang.NoClassDefFoundError: /home/andrey/Java/test
Caused by: java.lang.ClassNotFoundException: .home.andrey.Java.test
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
Could not find the main class: /home/andrey/Java/test. Program will exit.

пробую так:

$ javaс -classpath . sam.java
всё хорошо, создает test.class

пишу:

java -classpath . test
выдает:

Exception in thread "main" java.lang.UnsupportedClassVersionError: test : Unsupported major.minor version 51.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:634)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:277)
at java.net.URLClassLoader.access$000(URLClassLoader.java:73)
at java.net.URLClassLoader$1.run(URLClassLoader.java:212)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
Could not find the main class: test. Program will exit.

Что делать? помогите пожалуйста, я уже с ума схожу!

« Последнее редактирование: 16 Июля 2012, 10:37:19 от Чистый »

Оффлайн sash23

  • Участник
  • *
  • Сообщений: 130
    • Просмотр профиля
Re: Проблема с запуском Java классов (.class)
« Ответ #1 : 16 Июля 2012, 06:40:24 »
1 войдите в ту же директорию где находится файл sam.java
2 javac sam.java
3 java test

Оффлайн Andrody

  • Автор темы
  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Re: Проблема с запуском Java классов (.class)
« Ответ #2 : 16 Июля 2012, 18:02:01 »
$ cd /home/andrey/Java

~/Java$ ls

sam.java  sam.java~  test.class

$ javac sam.java

$ java test

Exception in thread "main" java.lang.UnsupportedClassVersionError: test : Unsupported major.minor version 51.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:634)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:277)
at java.net.URLClassLoader.access$000(URLClassLoader.java:73)
at java.net.URLClassLoader$1.run(URLClassLoader.java:212)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
Could not find the main class: test. Program will exit.

вот такие вот дела

Оффлайн sash23

  • Участник
  • *
  • Сообщений: 130
    • Просмотр профиля
Re: Проблема с запуском Java классов (.class)
« Ответ #3 : 17 Июля 2012, 02:42:06 »
Unsupported major.minor version 51.0обычно эта ошибка возникает когда для сборки и для запуска класса используются разные JDK
выполните следующий код
java -version
javac -version

Оффлайн Andrody

  • Автор темы
  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Re: Проблема с запуском Java классов (.class)
« Ответ #4 : 18 Июля 2012, 13:10:02 »
Unsupported major.minor version 51.0обычно эта ошибка возникает когда для сборки и для запуска класса используются разные JDK
выполните следующий код
java -version
javac -version

да, разные версии
$ java -version
java version "1.6.0_24"
OpenJDK Runtime Environment (IcedTea6 1.11.3) (6b24-1.11.3-1ubuntu0.12.04.1)
OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)

$ javac -version
javac 1.7.0_03


это исправимо только переустановкой?

Оффлайн Olej

  • Забанен
  • Активист
  • *
  • Сообщений: 884
    • Просмотр профиля
Re: Проблема с запуском Java классов (.class)
« Ответ #5 : 18 Июля 2012, 13:45:34 »
это исправимо только переустановкой?
да, ... можно и доустановкой и манипуляциями с переменными окружения ($CLASSPATH и др.).
и вообще лучше сменить ваш OpenJDK на нормальный JDK с сайта Oracle.

Оффлайн Andrody

  • Автор темы
  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Re: Проблема с запуском Java классов (.class)
« Ответ #6 : 18 Июля 2012, 14:07:40 »
это исправимо только переустановкой?
да, ... можно и доустановкой и манипуляциями с переменными окружения ($CLASSPATH и др.).
и вообще лучше сменить ваш OpenJDK на нормальный JDK с сайта Oracle.


ага, то есть лучше полностью удалить старые JDK, а потом установить новые?
как их правильно удалить?

странно, но я устанавливал NetBeans и JDK с сайта Oracle
у меня тогда были большие проблемы с установкой и настройкой среды NetBeans под С++
по этому как то страшновато удалять JDK 

Оффлайн Olej

  • Забанен
  • Активист
  • *
  • Сообщений: 884
    • Просмотр профиля
Re: Проблема с запуском Java классов (.class)
« Ответ #7 : 18 Июля 2012, 14:16:27 »
ага, то есть лучше полностью удалить старые JDK, а потом установить новые?
как их правильно удалить?
совсем не обязательно (удалять), можно при нескольких JDK правильно указать переменными окружения что использовать;
похоже, у вас так и есть:
javac используется из JDK,
java (VM) - из OpenJDK. 

странно, но я устанавливал NetBeans и JDK с сайта Oracle
$ java -version
java version "1.6.0_24"
OpenJDK Runtime Environment (IcedTea6 1.11.3) (6b24-1.11.3-1ubuntu0.12.04.1)

Оффлайн Yurror

  • Старожил
  • *
  • Сообщений: 1966
    • Просмотр профиля
Re: Проблема с запуском Java классов (.class)
« Ответ #8 : 18 Июля 2012, 20:19:35 »
update-java-alternatives вас спасут

Оффлайн Olej

  • Забанен
  • Активист
  • *
  • Сообщений: 884
    • Просмотр профиля

Оффлайн Andrody

  • Автор темы
  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Re: Проблема с запуском Java классов (.class)
« Ответ #10 : 20 Июля 2012, 14:26:12 »
ага, то есть лучше полностью удалить старые JDK, а потом установить новые?
как их правильно удалить?
совсем не обязательно (удалять), можно при нескольких JDK правильно указать переменными окружения что использовать;
похоже, у вас так и есть:
javac используется из JDK,
java (VM) - из OpenJDK. 

странно, но я устанавливал NetBeans и JDK с сайта Oracle
$ java -version
java version "1.6.0_24"
OpenJDK Runtime Environment (IcedTea6 1.11.3) (6b24-1.11.3-1ubuntu0.12.04.1)


а как правильно настроить переменные? то есть пути к чему указывать, к какой директории?


Пользователь решил продолжить мысль 20 Июля 2012, 14:29:26:
update-java-alternatives вас спасут

$ update-java-alternatives -a
update-java-alternatives: no root privileges
захожу под рут
# update-java-alternatives -a
update-alternatives: ошибка: нет альтернатив для mozilla-javaplugin.so.
« Последнее редактирование: 20 Июля 2012, 14:29:26 от Andrody »

Оффлайн Olej

  • Забанен
  • Активист
  • *
  • Сообщений: 884
    • Просмотр профиля
Re: Проблема с запуском Java классов (.class)
« Ответ #11 : 21 Июля 2012, 12:59:56 »
а как правильно настроить переменные? то есть пути к чему указывать, к какой директории?
Там не "пути" ($PATH), а несколько специальных переменных используемых java ... $CLASSPATH и ещё др. ... я делал давно, сейчас не помню имён.

Да читайте же вы документацию, хотя бы по диагонали! - там всё это написано.
 

Оффлайн Yurror

  • Старожил
  • *
  • Сообщений: 1966
    • Просмотр профиля
Re: Проблема с запуском Java классов (.class)
« Ответ #12 : 23 Июля 2012, 07:44:25 »
Andrody,
update-java-alternatives вас спасут
http://www.webupd8.org/2012/01/install-oracle-java-jdk-7-in-ubuntu-via.html

Эта ссылка была для тебя. Всем плевать что у тебя нет плагина к мозиле. это не ошибка. почитай хелп к update-java-alternatives
Подсказка 1: хелп вызвается ключиком -h или командой man
Подсказка 2: man man подкажет как пользоваться man
Подсказка 3: Заранее накопи деньжат на переводчика. Маны скорее всего не на великом и могучем.

Оффлайн Andrody

  • Автор темы
  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Re: Проблема с запуском Java классов (.class)
« Ответ #13 : 25 Июля 2012, 05:12:00 »
я удалил openjdk6, остались только openjdk7
проблема теперь другая:

$ javac /home/andrey/Java/sam.java
$ java /home/andrey/Java/test
Error: Could not find or load main class .home.andrey.Java.test
ну и так тоже:
$ javac /home/andrey/Java/sam.java
$ java test
Error: Could not find or load main class test

подобная гадость у меня и на win7
« Последнее редактирование: 25 Июля 2012, 05:13:39 от Andrody »

 

Страница сгенерирована за 0.018 секунд. Запросов: 22.