Работа с кодом. Как внести изменения?

Теги:
 
+
-
edit
 

elitare

новичок
Вопрос.
Есть исходники, хочу модефицировать код. Плиз, подскажите в каких файлах надо менять код что бы потом не было косяков при компиляции. Есть .java и есть куча дубликатов с другим рассширением. Если поменять в .java то не компилируеться. Чего то я еще не умею или не знаю. Плиз подскажите.
З.Ы. Хотел бы правит все блокнотом.
 

Murkt

Pythoneer

аццкий отжиг :))

и зачем два сообщения? тебя и так видно.
[team Їжачки - сумні падлюки]  
+
-
edit
 

elitare

новичок
Намек ясен, тебя тоже заметно. Как там в Бобруйске?
Я спрашиваю помощи добрых людей, кто хочет постебаться - не впечатлит.
 

Murkt

Pythoneer

все исходники находятся в *.java :D
[team Їжачки - сумні падлюки]  
+
-
edit
 

elitare

новичок
Я вроде бы по русски вопрос задал. К примеру, я добавляю строки кода в config.java закрываю, сохраняю. Начинаю компилировать и тут вылезает огромный облом. Для чего копии всех файлов (с другим расширением) и т.д. в папке .svn в подпапках? Вот и задал я в полне разумный вопрос, как менять код, что бы потом не было косяков?
 

Murkt

Pythoneer

всё остальное неважно для компилирования - оно для SVN. Исходники все находятся в *.java. Если начинаешь компилировать и огромный облом - значит напортачил в изменениях.
[team Їжачки - сумні падлюки]  
+
-
edit
 

elitare

новичок
Если я тебя правельно понял, ничего не нужно более чем просто менять в *.java. Хорошо, спасибо, я проверю свои действия еще раз. Но как быть с тем что бы добавить новый файл *.java в дирректорию? Я вот к чему спрашиваю. В L2J не реализованы EnergyStones как класс, и делать его они не собираются, хотя все исходники в нескольких исполнениях у них имеются и на форуме и в timeline. Вобщем я устомился ждать пока они разродятся и спустяться до простых вещей. Масса народу сделала столько наработок что у меня на 30% больше поддержки чем у текущей версии SVN. Отсюда вполне простой вопрос.
Что бы добавить файл - где то что то надо добавлять дополнительно? Буду признателен.
 

Murkt

Pythoneer

в случае с energystones скорее всего надо будет добавить хендлер в gameserver.java
[team Їжачки - сумні падлюки]  
+
-
edit
 
Если у тебя вылазит ошибка при компиляции - значит учи яву.
Пытаясь понять рекурсию, следи за тем, чтобы она не поняла тебя первой...  
+
-
edit
 

WarFare

новичок
Кстати, я с свн сливал черепашкой (Tortoise svn) так вот в результате если загнать в эклипс итоговую папку, компилится, но сыпет ошибки на криптование (не помню дословно). Поудалял из всех папок все скрытые свн папки и заработало. Вопросец, можно ли заставить эклипс игнорить эти файлы, или косяк вызывает именно попытка свн пометить, что файлы кто-то трогает?
 
+
-
edit
 

elitare

новичок
в случае с energystones скорее всего надо будет добавить хендлер в gameserver.java
 


Не вопрос. Спасибо за помошь.

To Abaddon:
Администратору БОЛЬШИЕ буквы! Больше понта ;)
 

Murkt

Pythoneer

эээ... а как можно заставить эклипс видеть и принимать во внимание служебные файлы СВН? о_о
[team Їжачки - сумні падлюки]  
+
-
edit
 
Э... Ну... В принципе... Наверно... Сильно постаравшись...
Пытаясь понять рекурсию, следи за тем, чтобы она не поняла тебя первой...  
+
-
edit
 

WarFare

новичок
вот это боюсь надо на эклипс.орг спрашивать, чем они их программе помешали, но факт есть фактом, пока в папке серва есть файлы в СКРЫТЫХ папках .svn серв компилится косячно. Хотя есть еще подозрение на Тортойз, что он с эклипсом как-то не дружит, я уже писал выше...
 
+
-
edit
 

LuciferX

втянувшийся
вот это боюсь надо на эклипс.орг спрашивать, чем они их программе помешали, но факт есть фактом, пока в папке серва есть файлы в СКРЫТЫХ папках .svn серв компилится косячно. Хотя есть еще подозрение на Тортойз, что он с эклипсом как-то не дружит, я уже писал выше...
 

У меня нормально компилитсья, причем могу качать как тортоизом так и самим клипсом (плагин) с СВН, и никаких конфликтов...
Владение русским языком как боевое искусство: настоящие мастера не используют без необходимости.  
+
-
edit
 

elitare

новичок
Спасибо Муркту за объяснения и помощь. Все сделал как надо. Только осталось мелочь, разобраться в том что здесь написано ;D


Buildfile: build.xml

init:
[mkdir] Created dir: H:WORKl2jc4trunkL2_Gameserverbuild
[mkdir] Created dir: H:WORKl2jc4trunkL2_Gameserverbuildclasses
[mkdir] Created dir: H:WORKl2jc4trunkL2_Gameserverbuilddist
[mkdir] Created dir: H:WORKl2jc4trunkL2_Gameserverbuilddistlogin
[mkdir] Created dir: H:WORKl2jc4trunkL2_Gameserverbuilddistgameserver

compile:
[javac] Compiling 902 source files to H:WORKl2jc4trunkL2_Gameserverbuildclasses
[javac] H:WORKl2jc4trunkL2_Gameserverjavanetsfl2jgameserverhandleritemhandlersEnergyStone.java:43: cannot find symbol
[javac] symbol : method removeItemFromInventory(net.sf.l2j.gameserver.model.L2ItemInstance,int)
[javac] location: class net.sf.l2j.gameserver.model.actor.instance.L2PlayableInstance
[javac] playable.removeItemFromInventory(item, 1);
[javac] ^
[javac] Note: * uses or overrides a deprecated API.
[javac] Note: Recompile with -Xlint:deprecation for details.
[javac] Note: Some input files use unchecked or unsafe operations.
[javac] Note: Recompile with -Xlint:unchecked for details.
[javac] 1 error



Боюсь что я либо что то не добавил, либо что то не удалил..

Где там книжка про Java?
 

Murkt

Pythoneer

тебе надо что-то в духе

playable.getInventory().removeItemFromInventory(item, 1);
[team Їжачки - сумні падлюки]  
+
-
edit
 
Могу посоветовять юзать эклипс.
Пытаясь понять рекурсию, следи за тем, чтобы она не поняла тебя первой...  

Murkt

Pythoneer

Abaddon, совет хороший, но с самого начала мало помогает.

elitare, тебе объяснить, чего от тебя компилятор хотел?
[team Їжачки - сумні падлюки]  
+
-
edit
 

elitare

новичок
Да Муркт, если не сложно обьясни. Кстати мне эклипс не особо то и нужен. Он у меня есть, но компилировать мне проще ant+svn. Я просто в батнике сделал логгирование событий, если по русски то протоколирование :)
 
+
-
edit
 

elitare

новичок
Вобщем это все попытка перенести из Гринхоп в L2Jc4 класс Energystone. В L2J они там его "делают" уже больше полугода это точно. Как подсказал Муркт (спасибо огромное) я сразу добавил import net.sf.l2j.gameserver.handler.itemhandlers.EnergyStone; в GameServer.java. Далее пришлось дописать кое куда еще пару строчек...EffectCharge.jave заменил полностью, и осталось добавить строчку removeItemFromInventory(item, 1); в файл L2PlayableInstance.java и тут началось ... То то не то , то это не так.. вобщем затык в том что последний надо доработать или полностью переписать, чего мне не дано. Это если в кратце.
 

Murkt

Pythoneer

Эклипс не для компилирования :) хотя и компилировать он тоже умеет

собсно, компилятор сказал тебе, что что не нашёл у L2PlayableInstance метода removeItemFromInventory с данными параметрами. Фича в том, что надо просто получить объект - инвентарь, а уже в нём удалять с помощью removeItemFromInventory вещь. А переписывать L2PlayableInstance не нужно, и в данном случае только вредно :)
[team Їжачки - сумні падлюки]  

Murkt

Pythoneer

Просто смотри, как сделано в других подобных случаях (у тебя - в классах других itemhandler'ов) в этом проекте, и делай подобно.
[team Їжачки - сумні падлюки]  
+
-
edit
 

Mansters

новичок
Часто приходится искать в коде сервера какоенибудь слово.
Помогает боевой хоткей Alt+F, но перебирать им каждый файл очень долго и неудобно...
Подскажите как в Эклипсе искать слово по всем файлам сразу ?

З.Ы. надеюсь понятно сформулировал вопрос :) если что поправьте...
 
+
-
edit
 
Ctrl-H, File Search
Пытаясь понять рекурсию, следи за тем, чтобы она не поняла тебя первой...  

в начало страницы | новое
 
Поиск
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru