Перейти к содержанию
Авторизация  
Engineer000

Подскажите как скомпилировать java в class

Рекомендуемые сообщения

Кто может подсказать как скомпилировать java файл который был сохранен в jd-gui из class файла в java .При обратной коспиляции через javac выдает ошибки :

взят был class AdminCommandHandler.java для пробы из l2jfrozen-core.jar которые я скопировал из паки lib в сервере.

 

  КОД ОШИБКИ (Показать контент)

 

Это вообще реально?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ну так ты должен указать javac'у, откуда брать все нужные jar'ки, в которых лежат все классы которые импортятся в этот класс.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  В 02.08.2021 в 09:22, Gaikotsu сказал:

ну так ты должен указать javac'у, откуда брать все нужные jar'ки, в которых лежат все классы которые импортятся в этот класс.

а какой командой указать .Я делал так:

javac -classpath l2jfrozen-core.jar -Xlint:unchecked AdminCommandHandler.java

image.thumb.png.7cbebafec525c203056a5afef2763f64.png

А потом вот такие ошибки 

E:\decompile>javac -classpath l2jfrozen-core.jar -Xlint:unchecked AdminCommandHa
ndler.java
AdminCommandHandler.java:75: error: package javolution.util does not exist
/*     */ import javolution.util.FastMap;
                                ^
AdminCommandHandler.java:82: error: cannot find symbol
/*     */   private FastMap<String, IAdminCommandHandler> _datatable;
                    ^
  symbol:   class FastMap
  location: class AdminCommandHandler
AdminCommandHandler.java:91: error: cannot find symbol
/* 120 */     this._datatable = new FastMap();
                                    ^
  symbol:   class FastMap
  location: class AdminCommandHandler
3 errors

 

 

Изменено пользователем Engineer000

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
error: package javolution.util does not exist

package ? это как?

Сам файл увидеть можно?

Изменено пользователем ForceUnleashed

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  В 02.08.2021 в 10:35, ForceUnleashed сказал:
package javolution.util does not exist

в папке lib 

javolution

есть?

Нету но есть вот такой : javolution-5.5.1.jar

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  В 02.08.2021 в 10:35, ForceUnleashed сказал:
error: package javolution.util does not exist

package ? это как?

Сам файл увидеть можно?

  код (Показать контент)

 

 

javolution.jpg

Изменено пользователем Engineer000

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вы же понимаете что у Вас весь код закомментирован:

/*     */

Видимо я не проснулся еще (показалось что он закрывает весь код).

Изменено пользователем ForceUnleashed

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  В 02.08.2021 в 10:47, ForceUnleashed сказал:

Вы же понимаете что у Вас весь код закомментирован:

/*     */

точно,сейчас сниму комментарии и попробуй скомпилировать

Изменено пользователем Engineer000

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Те же ошибки выдает при E:\decompile>javac -classpath l2jfrozen-core.jar -Xlint:unchecked AdminCommandHa
ndler.java

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  В 02.08.2021 в 11:04, ForceUnleashed сказал:

В папку где компилируешь добавь 

javolution

Добавил но эффекта не много https://ibb.co/sWYZkkX 

E:\decompile>javac -classpath l2jfrozen-core.jar -Xlint:unchecked AdminCommandHa
ndler.java
AdminCommandHandler.java:2: error: class, interface, enum, or record expected
package javolution.util;
^
1 error

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  В 02.08.2021 в 11:44, ForceUnleashed сказал:

image.png.c6e12a727417db86680758362ef5be68.png это удали)

тогда та же ошибка

E:\decompile>javac -classpath l2jfrozen-core.jar -Xlint:unchecked AdminCommandHa
ndler.java
AdminCommandHandler.java:75: error: package javolution.util does not exist
 import javolution.util.FastMap;
                       ^
AdminCommandHandler.java:82: error: cannot find symbol
  private FastMap<String, IAdminCommandHandler> _datatable;
          ^
  symbol:   class FastMap
  location: class AdminCommandHandler
AdminCommandHandler.java:91: error: cannot find symbol
     this._datatable = new FastMap();
                           ^
  symbol:   class FastMap
  location: class AdminCommandHandler
3 errors

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

закинул папку javolution в l2jfrozen-core.jar  и появился class и предупреждение ,вопрос  - это нормально скомпилированный файл?

E:\decompile>javac -classpath l2jfrozen-core.jar -Xlint:unchecked AdminCommandHa
ndler.java
AdminCommandHandler.java:91: warning: [unchecked] unchecked conversion
     this._datatable = new FastMap();
                       ^
  required: FastMap<String,IAdminCommandHandler>
  found:    FastMap
1 warning

 

вот файл class:

https://ibb.co/6wr6xSP

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  В 02.08.2021 в 10:47, ForceUnleashed сказал:

Вы же понимаете что у Вас весь код закомментирован:

/*     */

Видимо я не проснулся еще (показалось что он закрывает весь код).

кстати они не перекрывают код

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

теперь просто class файл можно заменить в библиотеке jar и потом уже jar заменить в папке lib в скомпилированной сборке ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  В 02.08.2021 в 12:20, Engineer000 сказал:

кстати они не перекрывают код

Я же Выше написал, что my bad, потом увидел что они в самом начале только.

  • Like 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  В 02.08.2021 в 12:22, ForceUnleashed сказал:

Я же Выше написал, что my bad, потом увидел что они в самом начале только.

спасибо,попробуем заменить файлы и гляну результат

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А через Ant если компилить что нужно вписывать build.xml пробовал пути проставить и написал в Консоле E:\decompile>ant и тоже куча ошибок

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  В 02.08.2021 в 12:22, ForceUnleashed сказал:

Я же Выше написал, что my bad, потом увидел что они в самом начале только.

Не получилось.Я заменил frozen-core.jar в сборке и выбило ошибку при запуске гейм сервера

ItemHandler: Loaded 2046 handlers.
SkillHandler: Loaded 76 handlers.
Exception in thread "main" java.lang.UnsupportedClassVersionError: com/l2jfrozen/gameserver/handler/AdminCommandHandler has been compiled by a more recent version of the Java Runtime (class file version 60.0), this version of the Java Runtime only recognizes class file versions up to 52.0
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(Unknown Source)
        at java.security.SecureClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.access$100(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at com.l2jfrozen.gameserver.GameServer.main(GameServer.java:424)

Я так понял что я скомпилил с другой версией java? 

Изменено пользователем Engineer000

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  В 02.08.2021 в 13:32, Engineer000 сказал:

Не получилось.Я заменил frozen-core.jar в сборке и выбило ошибку при запуске гейм сервера

ItemHandler: Loaded 2046 handlers.
SkillHandler: Loaded 76 handlers.
Exception in thread "main" java.lang.UnsupportedClassVersionError: com/l2jfrozen/gameserver/handler/AdminCommandHandler has been compiled by a more recent version of the Java Runtime (class file version 60.0), this version of the Java Runtime only recognizes class file versions up to 52.0
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(Unknown Source)
        at java.security.SecureClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.access$100(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at com.l2jfrozen.gameserver.GameServer.main(GameServer.java:424)

Я так понял что я скомпилил с другой версией java? 

Именно так.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

а если стоит jdk 16 и jdk 8 а в path прописано и то и другое - будет работать версия выше ,это так работает?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

jre1.8.0_291 - это на сервере установлена java

java 8 update 291 это на моем пк

jdk 8 update 301

jdk 16.0.1

Получаеться у меня ява 8 стоит а почему тогда не совпадают версии?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...