| 
		
	
	
	
		
	Сообщений: 2,124 
	Тем: 84 
	Зарегистрирован: Jul 2010
	
 Репутация: 
3,419 
	
		
		
		11-12-2011, 10:37 PM 
(Сообщение последний раз редактировалось: 11-12-2011, 10:49 PM   TieLay.)
		
	 Добавлено через 12 минут
		С недавнего времени перешёл на 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.
 
сомое интересное сравнил этот файл 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,491 
	Тем: 52 
	Зарегистрирован: Jun 2010
	
 Репутация: 
12,167 
	
	
		А зачем вообще юзать на серверных платформах 7 мую яву , с серверным джитом ничего не делали. В семерке работы были по клиентской части в основном.Если была бы хоть капля смысле переходить на 7мую яву , разработчики давно бы перешли.
 Ставь последнюю с 6той ветки и не верти мозг не форумчанам , ни себе.
 
	
	
	
		
	Сообщений: 2,124 
	Тем: 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,124 
	Тем: 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 автобоксингом не любит баловаться
	 |