Форум администраторов игровых серверов

Форум администраторов игровых серверов (https://forum.zone-game.info/TT.php)
-   Серверная часть (https://forum.zone-game.info/forumdisplay.php?f=148)
-   -   JDK7 и NpcShoutsService.java - unchecked or unsafe operations. (https://forum.zone-game.info/showthread.php?t=16707)

TieLay 12.11.2011 22:37

JDK7 и NpcShoutsService.java - unchecked or unsafe operations.
 
С недавнего времени перешёл на JDK на базе JAVA7 и при компиляции GS большинства ныне здравствующих проектов пошли вопли компилятора
PHP код:

    [javac] .\GameServer\src\gameserver\services\NpcShoutsService.java:145errorreference to SM_SYSTEM_MESSAGE is ambiguousboth constructor SM_SYSTEM_MESSAGE(int,Object...) in SM_SYSTEM_MESSAGE and constructor SM_SYSTEM_MESSAGE(int,boolean,int,Object...) in SM_SYSTEM_MESSAGE match
    
[javac]         SM_SYSTEM_MESSAGE message = new SM_SYSTEM_MESSAGE(shout.getMessageId(), trueowner.getObjectId(), param);
    [
javac]                                     ^
    [
javacNoteSome input files use unchecked or unsafe operations

Добавлено через 12 минут
сомое интересное сравнил этот файл U3J AiON и AiON Galaxy emu и отличие незначительное:
PHP код:

        PacketSendUtility.broadcastPacket(ownermessage30); 

идёт после проблемной строчки, но, как и следовало ожидать, прямая инжекция в код - бесполезна, ругань ещё больше...

З.Ы. Эта ошибка есть у AiON Knight v54, AiON Galaxy emu v93, AiON Java Free v44 в этом файле и в этом месте, странно, что команды сий косяк не исправили...

valsha 12.11.2011 23:37

Re: JDK7 и NpcShoutsService.java - unchecked or unsafe operations.
 
это варнинги? или именно ошибка?

pchayka 13.11.2011 00:05

Re: JDK7 и NpcShoutsService.java - unchecked or unsafe operations.
 
Написано просто Note, видимо ява7 просто более внимательна к этому. Компиляции конкретно та ошибка не мешает.

Deazer 13.11.2011 00:28

Re: JDK7 и NpcShoutsService.java - unchecked or unsafe operations.
 
А зачем вообще юзать на серверных платформах 7 мую яву , с серверным джитом ничего не делали. В семерке работы были по клиентской части в основном.
Если была бы хоть капля смысле переходить на 7мую яву , разработчики давно бы перешли.
Ставь последнюю с 6той ветки и не верти мозг не форумчанам , ни себе.

TieLay 13.11.2011 09:39

Re: JDK7 и NpcShoutsService.java - unchecked or unsafe operations.
 
Deazer, я бы и рад, да вот незадача сейчас многие команды, не только пишущие под AiON переползают на JAVA7, да и по работе было принято решение...
И потом мне стало интересно почему именно там ругается...
Да и командам, ИМХО, будет не лишним по строже относиться к написанию кода на JAVA...

Azagthtot 13.11.2011 11:59

Re: JDK7 и NpcShoutsService.java - unchecked or unsafe operations.
 
Цитата:

Сообщение от TieLay (Сообщение 147914)
Deazer, я бы и рад, да вот незадача сейчас многие команды, не только пишущие под AiON переползают на JAVA7, да и по работе было принято решение...
И потом мне стало интересно почему именно там ругается...

Давайте разберем ошибку

reference to SM_SYSTEM_MESSAGE is ambiguous, both constructor SM_SYSTEM_MESSAGE(int,Object...) in SM_SYSTEM_MESSAGE and constructor
SM_SYSTEM_MESSAGE(int,boolean,int,Object...) in SM_SYSTEM_MESSAGE match

Как вы видите, есть два конструктора.
теперь собственно вызов:
new SM_SYSTEM_MESSAGE(shout.getMessageId(), true, owner.getObjectId())
И тут у компиляторая начинается разрыв шаблона.
Мама, фто делать? Есть два способа.
1. Трактовать true и owner.getObjectId() как boolean и int и вызывать второй конструктор или
2. Запаковать их в Boolean и Integer соответственно и вызывать первый конструктор.

TieLay 13.11.2011 14:14

Re: JDK7 и NpcShoutsService.java - unchecked or unsafe operations.
 
Azagthtot, хм, нублю, но как тогда выходит из этого пике компилятор под JAVA6?
Ведь под JAVA6 нет не то что ругани, и намёка на неё, и потом как же тогда исполняется байт-код в последствии?

Aquanox 13.11.2011 14:33

Re: JDK7 и NpcShoutsService.java - unchecked or unsafe operations.
 
Цитата:

Сообщение от TieLay (Сообщение 147940)
Azagthtot, хм, нублю, но как тогда выходит из этого пике компилятор под JAVA6?
Ведь под JAVA6 нет не то что ругани, и намёка на неё, и потом как же тогда исполняется байт-код в последствии?

Возможно была установлена опция javac warnings=off, "нет сообщения - нет проблемы".

связывание метода происходит на стадии компиляции, а не при выполнении.
компилятор подбирает более специфичный метод подходящий аргументам, но в JDK7 (и кажется в последних версиях 6) добавлено сообщение о такой ситуации.

Azagthtot 13.11.2011 17:46

Re: JDK7 и NpcShoutsService.java - unchecked or unsafe operations.
 
А Java6 автобоксингом не любит баловаться


Текущее время: 00:46. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2023, Jelsoft Enterprises Ltd. Перевод: zCarot