Компиляция с .class в Java...

NyZaChem

Путник
Пользователь
Сообщения
10
Розыгрыши
0
Репутация
0
Реакции
0
Баллы
0
Доброе время суток. Подскажите пожалуйста. В чём может быть проблема. Что бы я не комплировал, у меня всегда выдаёт ошибки.

Компелирую через (CMD - javac). Взять простой фаил .class (Эвент из Lineage2). Через программу делаю его в Java меняю значения, после в CMD в вожу следующее "javac -classpath l2ft-scripts.jar -Xlint:unchecked glitmedal.java"

На что, он мне начинает выдавать след. ошибки...

glitmedal.java:8: error: package l2ft.gameserver does not exist
import l2ft.gameserver.Announcements;
^
glitmedal.java:9: error: package l2ft.gameserver does not exist
import l2ft.gameserver.Config;
^
glitmedal.java:10: error: package l2ft.gameserver.cache does not exist
import l2ft.gameserver.cache.Msg;
^
glitmedal.java:11: error: package l2ft.gameserver.data.xml.holder does not exist
import l2ft.gameserver.data.xml.holder.MultiSellHolder;
^
glitmedal.java:12: error: package l2ft.gameserver.listener.actor does not exist
import l2ft.gameserver.listener.actor.OnDeathListener;
^
glitmedal.java:13: error: package l2ft.gameserver.listener.actor.player does not exist
import l2ft.gameserver.listener.actor.player.OnPlayerEnterListener;
^
glitmedal.java:14: error: package l2ft.gameserver.model does not exist
import l2ft.gameserver.model.Creature;

и т.д...
Может это быть из-за программы? Просто, для проверки пробовал разные файлы .class и везде одно и тоже.
 

в ошибках черным по белому написано нет библиотеки gameserver
 
  • Мне нравится
Реакции: kick
Доброе время суток. Подскажите пожалуйста. В чём может быть проблема. Что бы я не комплировал, у меня всегда выдаёт ошибки.

Компелирую через (CMD - javac). Взять простой фаил .class (Эвент из Lineage2). Через программу делаю его в Java меняю значения, после в CMD в вожу следующее "javac -classpath l2ft-scripts.jar -Xlint:unchecked glitmedal.java"

На что, он мне начинает выдавать след. ошибки...

glitmedal.java:8: error: package l2ft.gameserver does not exist
import l2ft.gameserver.Announcements;
^
glitmedal.java:9: error: package l2ft.gameserver does not exist
import l2ft.gameserver.Config;
^
glitmedal.java:10: error: package l2ft.gameserver.cache does not exist
import l2ft.gameserver.cache.Msg;
^
glitmedal.java:11: error: package l2ft.gameserver.data.xml.holder does not exist
import l2ft.gameserver.data.xml.holder.MultiSellHolder;
^
glitmedal.java:12: error: package l2ft.gameserver.listener.actor does not exist
import l2ft.gameserver.listener.actor.OnDeathListener;
^
glitmedal.java:13: error: package l2ft.gameserver.listener.actor.player does not exist
import l2ft.gameserver.listener.actor.player.OnPlayerEnterListener;
^
glitmedal.java:14: error: package l2ft.gameserver.model does not exist
import l2ft.gameserver.model.Creature;

и т.д...
Может это быть из-за программы? Просто, для проверки пробовал разные файлы .class и везде одно и тоже.
создайте папку, обзовите ее lib, в нее положите все серверные библиотеки, далее в командную строку, точно не помню, но вроде так:
Код:
javac -classpath lib/*.jar -Xlint:unchecked glitmedal.java
а вообще есть полно тем в гугле по этому поводу, с примерами и прочей чепухой, кстати, можно еще кодировку указать UTF-8 чтобы с русскими символами компилировалось, иначе могут возникнуть проблемы с компиляцией :-) , что-то вроде этого:
Код:
javac -classpath lib/*.jar -Xlint:unchecked glitmedal.java -encoding utf-8
 
  • Мне нравится
Реакции: kick
создайте папку, обзовите ее lib, в нее положите все серверные библиотеки, далее в командную строку, точно не помню, но вроде так:
Код:
javac -classpath lib/*.jar -Xlint:unchecked glitmedal.java
а вообще есть полно тем в гугле по этому поводу, с примерами и прочей чепухой, кстати, можно еще кодировку указать UTF-8 чтобы с русскими символами компилировалось, иначе могут возникнуть проблемы с компиляцией :-) , что-то вроде этого:
Код:
javac -classpath lib/*.jar -Xlint:unchecked glitmedal.java -encoding utf-8


Попробую как ты сказал.

Просто смотрел видео, там на видео у парня не чего нету лишнего, только те файлы, с которыми он работает.
И спокойно компилирует.

Я так понял где ты поставил *.jar это тот фаил в который компилирую?
 
на видео "проект" из 1 файла, у вас же сотни тысяч связанных файлов + дополнительные библиотеки
 
Попробую как ты сказал.

Просто смотрел видео, там на видео у парня не чего нету лишнего, только те файлы, с которыми он работает.
И спокойно компилирует.

Я так понял где ты поставил *.jar это тот фаил в который компилирую?
нет, это указывает на папку класспатча в которой будут учитываться все библиотеки находящиеся внутри папки lib
 
Шаманизм без понятия структуры и организации проекта.

Вы берете и компилируете отдельный файл проекта, или что черт его знает, используя свои догадки и видео, не понимая содержания его.
Первое. В ошибке пишет, что не может найти в classpath нужные классы. Через свою команду, компиляции, не подключили все зависимые библиотеки(jar)/классы
Второе. Вы компилируете отдельный файл, и успешным результатом вашей команды, будет отдельный class файл, а не целая библиотека jar.
Третье. Вы компилируете из .java файла в .class, а не наоборот. Обратная операция называется декомпиляция


Либо учите основы java и работайте с простыми проектами, для начала.
Или компилируйте через maven/gradle/ant через что организован проект, и тыкайте пальцем в небо, при работе с кодом.

 
Я до этого компилировал через ant и было все хорошо. После рождения 2 ребенка, на год всё забросил. Теперь пробую всё так же делать, не выходит, вот попробовал другой способ, который описал, так не получается. Решил попросить помощи у вас, что бы вспомнить...
 
@NyZaChem, лучше бы описали ошибки анта, и попытались их решить
 
в вожу следующее "javac -classpath l2ft-scripts.jar -Xlint:unchecked glitmedal.java"
Вы добавили в classpath либу со скриптами, но забыли добавить либу с ядром.

Должно быть примерно так:
Код:
javac -classpath l2ft-server.jar;l2ft-scripts.jar -Xlint:unchecked glitmedal.java
Где l2ft-server.jar ядро геймсервера.
 
Вот мои действия в скринах.


Безымянный.webp Безымянный1.webp

Вот ещё

Безымянный2.webp Безымянный3.webp
 
У вас ядро не указано, l2ft-scripts.jar это библиотека с квестами, аи, хендлерами и тд, вам еще нужно ядро ГСа указать.
 
  • Мне нравится
Реакции: kick

    kick

    Баллов: 75
    75
Если не сложно, подкажите как это делать. Раньше, делал через ANT повторюсь. Сейчас же, через ant компилирует, почему-то какую то часть, даже не то что мне нужно.
 
Я же вроде выше отписал. Пост 10
 
Если не сложно, подкажите как это делать. Раньше, делал через ANT повторюсь. Сейчас же, через ant компилирует, почему-то какую то часть, даже не то что мне нужно.
Что трудного положить все серверные jar в одну папку? Я уже дал ответ выше, но Вы видимо даже не пробовали, не умеете - платите тем кто умеет, Вам дали как минимум 2 рабочих варианта с использованием командной строки, предельно ясно все расписали, неужели это так трудно просто следовать инструкциям мануала?
1) создаёте папку lib в той папке где лежит необходимый Вам скрипт(сам скрипт в эту папку пихать не нужно, просто оставить его рядом с папкой lib)
2) скопировать серверные .jar библиотеки в эту папку
3) юзнуть в командной строке ту команду из моего поста выше
Что трудного? Или Вы папку создавать не умеете? Может переименовать её религия не позволяет или не знаете как копировать? А не, понял, загвоздка в том что после копирования Вы не знаете как вставить?

Я же вроде выше отписал. Пост 10
Забейте, это похоже на гиблое дело...
 
Назад
Сверху Снизу