Сообщений: 2,125
Тем: 84
Зарегистрирован: Jul 2010
Репутация:
3,419
11-12-2011, 10:37 PM
(Сообщение последний раз редактировалось: 11-12-2011, 10:49 PM TieLay.)
С недавнего времени перешёл на JDK на базе JAVA7 и при компиляции GS большинства ныне здравствующих проектов пошли вопли компилятора
PHP код: <?php
[javac] .\GameServer\src\gameserver\services\NpcShoutsService.java:145: error: 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
[javac] SM_SYSTEM_MESSAGE message = new SM_SYSTEM_MESSAGE(shout.getMessageId(), true, owner.getObjectId(), param);
[javac] ^
[javac] Note: Some input files use unchecked or unsafe operations.
Добавлено через 12 минут
сомое интересное сравнил этот файл U3J AiON и AiON Galaxy emu и отличие незначительное:
PHP код: <?php
PacketSendUtility.broadcastPacket(owner, message, 30);
идёт после проблемной строчки, но, как и следовало ожидать, прямая инжекция в код - бесполезна, ругань ещё больше...
З.Ы. Эта ошибка есть у AiON Knight v54, AiON Galaxy emu v93, AiON Java Free v44 в этом файле и в этом месте, странно, что команды сий косяк не исправили...
Сообщений: 777
Тем: 10
Зарегистрирован: May 2010
Репутация:
813
это варнинги? или именно ошибка?
Сообщений: 754
Тем: 14
Зарегистрирован: Aug 2011
Репутация:
3,478
Написано просто Note, видимо ява7 просто более внимательна к этому. Компиляции конкретно та ошибка не мешает.
Сообщений: 3,494
Тем: 52
Зарегистрирован: Jun 2010
Репутация:
12,167
А зачем вообще юзать на серверных платформах 7 мую яву , с серверным джитом ничего не делали. В семерке работы были по клиентской части в основном.
Если была бы хоть капля смысле переходить на 7мую яву , разработчики давно бы перешли.
Ставь последнюю с 6той ветки и не верти мозг не форумчанам , ни себе.
Сообщений: 2,125
Тем: 84
Зарегистрирован: Jul 2010
Репутация:
3,419
Deazer, я бы и рад, да вот незадача сейчас многие команды, не только пишущие под AiON переползают на JAVA7, да и по работе было принято решение...
И потом мне стало интересно почему именно там ругается...
Да и командам, ИМХО, будет не лишним по строже относиться к написанию кода на JAVA...
Сообщений: 1,326
Тем: 10
Зарегистрирован: Apr 2010
Репутация:
2,078
TieLay Написал: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 соответственно и вызывать первый конструктор.
Сообщений: 2,125
Тем: 84
Зарегистрирован: Jul 2010
Репутация:
3,419
Azagthtot, хм, нублю, но как тогда выходит из этого пике компилятор под JAVA6?
Ведь под JAVA6 нет не то что ругани, и намёка на неё, и потом как же тогда исполняется байт-код в последствии?
Сообщений: 509
Тем: 7
Зарегистрирован: Apr 2008
Репутация:
1,660
TieLay Написал:Azagthtot, хм, нублю, но как тогда выходит из этого пике компилятор под JAVA6?
Ведь под JAVA6 нет не то что ругани, и намёка на неё, и потом как же тогда исполняется байт-код в последствии?
Возможно была установлена опция javac warnings=off, "нет сообщения - нет проблемы".
связывание метода происходит на стадии компиляции, а не при выполнении.
компилятор подбирает более специфичный метод подходящий аргументам, но в JDK7 (и кажется в последних версиях 6) добавлено сообщение о такой ситуации.
Сообщений: 1,326
Тем: 10
Зарегистрирован: Apr 2010
Репутация:
2,078
А Java6 автобоксингом не любит баловаться
|