Przejdź do treści
Nieoficjalna polska strona Lineage 2

forum.lineage2.com.pl

Nieoficjalna polska strona Lineage 2

[Poradnik] Prosta kompilacja w IntelliJ IDEA

Zaczęty przez Shyque, Shyque ·

Ostatnia edycja: przez Shyque

Zacznijmy więc od pobrania programów:
JDK - pobrania http://www.oracle.com/technetwork/java/javase/downloads/index.html
IntelliJ IDEA-http://www.jetbrains.com/idea/download/
Z instalacja programów nie powinno być problemów.

1.

http://img843.imageshack.us/img843/8642/20311283.png
2.Naciskamy "+"

http://img707.imageshack.us/img707/6189/31855681.png

3.Teraz trzeba dodać linki SVN.

http://img341.imageshack.us/img341/3620/66983952.png

4.W oknach widać nowy link svn. Kliknij prawym przyciskiem myszki i wybierz Checkout ...

http://img29.imageshack.us/img29/1631/63675522.png

5.Teraz musisz ustawić katalog

http://img130.imageshack.us/img130/9784/13719808.png

6.W  Opcje kliknij przycisk OK.

http://img217.imageshack.us/img217/7029/56172439.png

7.Wybieramy format.L2jServer Subversion ma 1.4

http://img839.imageshack.us/img839/5925/42437504.png

8.Pobieramy kod źródłowy....

http://img831.imageshack.us/img831/3773/42776995.png

9.Po zakończeniu pobierania kody , klikamy Tak

http://img822.imageshack.us/img822/2483/67310340.png

10.Teraz wybieramy Utwórz Java Project z kodu . Kliknij przycisk Dalej

http://img30.imageshack.us/img30/968/81125091.png

11.Nazywamy nasz projekt i klikamy przycisk Dalej.

http://img204.imageshack.us/img204/9543/11120811.png

12.Teraz musisz wybrać JDK.Klick na + . a następnie JSDK.

http://img248.imageshack.us/img248/5623/56125138.png

13.Wybierz lokalizacje jdk java.

http://img713.imageshack.us/img713/9479/40874439.png

14.Skanowanie JDK

http://img196.imageshack.us/img196/7988/45270339.png

Teraz możesz edytować kod źródłowy. Należy kliknąć na Projekt i edytować pliki :)

http://img824.imageshack.us/img824/9350/21295083.png

Tworzenie Patch:

to bardzo proste! tylko edytujemy pliki , kliknij na swój projekt  prawym przyciskiem myszy i wybierz  lokalny Historia -> Podgląd Historii

http://img839.imageshack.us/img839/8923/63453913.png

2.Widać wszystkie zmiany naszego kodu .Zaznacz swoją  i kliknij przycisk Tworzenie Patch.

http://img834.imageshack.us/img834/4231/97096393.png

3.Wybierz gdzie chcesz zapisać patch.

http://img210.imageshack.us/img210/7566/93110237.png

Kompilacja


1.Bardzo proste po prostu kliknij na Ant i + .

http://img811.imageshack.us/img811/1381/71662604.png

2.Wybierz folder źródłowy i zaczynamy budować build.xml. Skanuje pliki.

http://img835.imageshack.us/img835/3903/73290411.png

3.Wybierz projekt

http://img638.imageshack.us/img638/6648/95186803.png

4.Mamy skomplikowane pliczki . Widzimy

http://img832.imageshack.us/img832/1417/48479506.png

/GenesiZ
Brawo, świetny poradnik :)

http://img81.imageshack.us/img81/6309/pochwa322akt2jn6.png
http://img81.imageshack.us/img81/6309/pochwa322akt2jn6.png
Ostatnia edycja: przez szponiasty #8
InteliJ zjada inne IDE (a przynajmniej jeśli chodzi o Javę) na śniadanie.

Do swojego build.xml możesz dorzucić coś co sobie zrobiłem, żeby nie bawić się w kopiowanie i przygotowywanie serwera testowego za każdym buildem ;) Buduje od razu, gotowy do uruchomienia i testów serwer:

Do build.xml core:

    <target name="test_environment" depends="dist_no_zip" description="make dist and copy all to ../../#test_env folder">
<mkdir dir="${build}/../../#test_env"/>
<delete file="${build}/../../#test_env/game/config/l2j-version.properties"/>
<copydir dest="${build}/../../#test_env" src="${build.dist}" forceoverwrite="true" excludes="**/*.old, **/*.bak, **/config/*" />
<copydir dest="${build}/../../#test_env" src="${build.dist}" forceoverwrite="false" includes="**/config/*"/>

    <!-- ASK DEVELOPER IF HE WISHES TO START NEWLY BUILT TEST ENVIRONMENT>
    <input
    message="Do you wish to execute newly built test environment (y/n)?"
    validargs="y,n"
    addproperty="do.delete"
    />
    <condition property="do.abort">
    <equals arg1="n" arg2="${do.delete}"/>
    </condition>
    <fail if="do.abort">Build finished.</fail>

    <exec executable="${build}/../../#test_env/game/startGameServer.bat"><arg line="/cd ${build}/../../#test_env/game" /></exec -->
    </target>


Do build.xml DP:

    <target name="test_environment" depends="dist_no_zip" description="make dist and copy all to ../../#test_env folder">
<copydir dest="${build}/../../#test_env" src="${build.dist}" forceoverwrite="true" excludes="**/*.old,**/*.bak" />
</target>
[code]


Zmodyfikuj też startGameServer.bat (dodaj na początku pliku, po @echo off):
[code]
if "%1"=="/cd" goto cd
goto start
:cd
cd "%2"
:start
rem no need anymore to copy test configs. using -use_test_configs param passed to gameserver, to force it to use configs in config_test folder instead of config folder
copy /Y .\config_test\* .\config\* > NUL


Trzymaj konfigi serwera testowego w ../../#test_env/game/config_test, to przy starcie GS, bat będzie je wrzucał do "config" (bo każdy build zastepuje zawartość "config" domyślnymi plikami z core).

PS. Zakomentowany kod w build.xml dla core możesz se odkomentować, wtedy IDE będzie cię pytało po skończeniu buildu, czy od razu uruchomić serwer testowy. Ale nie używam, bo wszystkie komunikaty wtedy wyświetlają się w konsoli inteliJ i jest to dla mnie niewygodne.
Oj tam oj tam
#9
Nie miałem przyjemności bawić się intelliJ, jednak i tak stwierdzam: Netbeans > notatnik > eclipse
To co się dzieje z eclipsem od czasu Juno, jest przerażające...

Polaczkowo:
Impos - Aeore Healer lvl 93 / Wynn Summoner 85 / TH 58
klan - Kowale
CP Sairea
#10
Netbeansa nie nawidzę już (8+h dziennie w korpie go oglądam), a eclipse to shit. Nie ma nawet porządnego diffa. Zawsze się gubi, wystarczy że np. jakaś metoda będzie o 5 niżej czy wyżej. Już nie wspominając o zamotkach jakie ma z tabulacjami ;( Chyba, że poprawili. Anyway polecam InteliJ, zwłaszcza x64. Jest genialnie szybkie, wygodnie się robi (nawet rozpoznaje w kodzie java, czy jakieś zmienne z .properties są używane, i poszarza je jak nie).
Oj tam oj tam
Ostatnia edycja: przez impos89 #11
jest jakas przystepna cena dla non-commerce?
180 EUR za licencje dla domowych :D

Tak w ogóle to nie masz wakatu u siebie ? Baaardzo dawno nie siedziałem w l2jotach a chyba skill mi znacznie podskoczył, w końcu już niedługo 2 lata w zawodzie mi wpadną :)
Polaczkowo:
Impos - Aeore Healer lvl 93 / Wynn Summoner 85 / TH 58
klan - Kowale
CP Sairea
#16
A nie myślałeś, może o jakimś nowym projekcie ? Np. zrobieniu emu pod jakąś nowszą grę ? Nie chodzi tu o nabijanie kabzy lub robieniu nie wiadomo jakich spin z retail-like w dobie free to play. Ale można pobawić się nowymi technologiami i opracować np. emulatorek dający jakieś pole do popisu. Z całym szacunkiem ale l2j nie nadaje się do refaktoru tylko do reimplementacji...

Niemniej jednak nie będę wybrzydzać i mogę poświęcić trochę czasu po pracy aby poogarniać z Wami ten projekt.
Polaczkowo:
Impos - Aeore Healer lvl 93 / Wynn Summoner 85 / TH 58
klan - Kowale
CP Sairea
#17
Taki jest plan. Chcemy na tym projekcie uzbierać trochę kabzy na jakichś pierdułkach z doty i next krok: wykorzystać ją do stworzenia własnego mmo :) Core może zostać l2j (po unowocześnieniu), najgorszy koszt to zrobienie klienta.
Oj tam oj tam
#18
Wpadłem na plan napisania klienta na androidzie :) proste rzeczy, logowanie, jakieś poruszanie, odpalenie skilla. Taki mam plan, w ramach nauki pisania czegoś na andka.

Z l2j można wygrzebać sam silnik. Podrasować go, refaktorując, odświeżając liby itp. Można też sporządzić wtedy osobny interfejs sieciowy, aby udostępnić łatwą developerkę dla klienta + debugowanie.

To ma szanse bytu :)
Polaczkowo:
Impos - Aeore Healer lvl 93 / Wynn Summoner 85 / TH 58
klan - Kowale
CP Sairea