Kaip sukompiliuoti ir paleisti Java programą
Parašė ozzWANTED 2009 rugsėjo 28 11:09:20
Aprašysiu tik Windows variantą.

Visų pirmą turime turėti Sun programinę įrangą, t.y. "[b]Sun Java Developer Kit[/b]".
Jį galime atsisiųsti iš čia(kartu su NetBeans IDE programa):
[url=http://java.sun.com/javase/downloads/widget/jdk_netbeans.jsp]JDK 6 Update 16 with NetBeans 6.7.1[/url]

Tarsime, kad esame instaliavę ją į standartinę direktoriją(pagal nutylėjimą).

Aišku galime tiesiog užsileidę NetBeans programą nesukdami sau galvos paspausti F6, tačiau tiems kas arčiau pingvinų, ar šiaip mėgsta cmd, ši informacija bus aktuali.

1.Taigi, atsidarome:
[b]Start -> Run -> cmd[/b] (Microsoft Windows XP OS)

2.Pereiname į Java kompliatoriaus("[b]javac[/b]") direktoriją
[code]cd Program Files\Java\jdk1.6.0_16\bin[/code]
Komanda "[b]cd[/b]", tai "change directory" trumpinys.
Komandos "[b]dir[/b]" pagalba galime peržiūrėti direktorijos turinį.

---------------------------------------------------------
[big][color=blue][b]A Variantas[/b][/color][/big]

a)Tariame, kad turime projektą direktorijoje "[b][u][color=red]programa1[/color][/u][/b]", kuris susideda iš 3 failų:
[code]\[u][color=red]programa1[/color][/u]\[b]Main.java[/b] - pagrindinė klasė
\[u][color=red]programa1[/color][/u]\[b]Statybos.java[/b] - išvestinė Main klasė
\[u][color=red]programa1[/color][/u]\[b]Namas.java[/b] - išvestinė Namas klasė(struct'as)[/code]

Failo [b]Main.java[/b] turinys:
[code]package [color=red][b]programa1[/b][/color];

/**
*
* @author ozzWANTED
* @date 2009-09-28
*/

public class Main {
static int SIZE = 2; // stuff

public static void main(String[] args) {
// TODO code application logic here
System.out.println("Uzkraunam");

// Uzleidziam viesbucio gyvenima
Statybos TMP = new Statybos(SIZE);
TMP.do_sth(SIZE);
}
}
[/code]

Failo [b]Statybos.java[/b] turinys:
[code]package [color=red][b]programa1[/b][/color];

public class Statybos {
// Dinaminis dydis
private namas[] array_of_houses;

// Klasės konstruktorius
public Statybos(int size)
{
array_of_houses = new namas[size];
// Užpildome array'u
for (int i = 0; i < size; i++)
{
array_of_houses[i] = new namas();
array_of_houses[i].completed = true;
}
}

public static void do_sth(int size)
{
System.out.println("\n\rBuvo pastatyta namu: " + size);
}
}[/code]

Klasės(struct'o) [b]namas.java[/b] turinys:
[code]package [color=red][b]programa1[/b][/color];

public class namas {
public boolean completed;
public int start_date;
public int end_date;

// Klasės konstruktorius
public namas()
{
completed = false;
start_date = -1;
end_date = -1;
}
}[/code]

3.Sukompiliuojame savo direktoriją:
[code]javac [color=red][b]programa1[/b][/color]\*.java[/code]
Čia "programa1\" yra direktorijos pavadinimas, kur yra mūsų programa. Kartu tai yra ir paketo pavadinimas.
O parametro dalis "[color=blue][b]*.java[/b][/color]" reiškia, kad bus sukompiliuoti visi failai, esantys direktorijoje "programa1", kai failo plėtinys yra "[b][color=green].java[/color][/b]".

4.Paleidžiame programą:
[code]java [b][color=red]programa1[/color][/b].[color=green][b]Main[/b][/color][/code]
Atkreipkime dėmesį, kad čia "programa1" yra ne direktorijos, o [u][color=red][b]paketo kvietinys[/b][/color][/u],
t.y. mūsų direktorijos pavadinimas [u]turi sutapti[/u] su visos programos kiekvieno failo pradžioje esančiu apibrėžtu paketo pavadinimu, šiuo atveju jis yra toks:
[code]package [b][color=red]programa1[/color][/b];[/code]

Na o Main yra mūsų pagrindinė klasė, atsakinga už visų kitų išvestinių klasių kvietimą, panaudojimą ir vykdymą, todėl paleisdami programą iškviečiame būtent ją.

---------------------------------------------------------
[big][color=blue][b]B Variantas[/b][/color][/big]

b)Tariame, kad turime vienintelę klasę-failą "[b]Test.java[/b]":
[code]public class Main {
static int info = 100; // out msg

public static void main(String[] args) {
// TODO code application logic here
System.out.println("Uzkraunam");

// Run hotels'live
System.out.println("Isspausdiname reiksme: " + info);
}
}[/code]

3.Sukompiliuojame savo failą:
[code]javac [b][color=red]Test.java[/color][/b][/code]

4.Paleidžiame programą:
[code]java [color=green][b]Test[/b][/color][/code]
Atkreipkime dėmesį, kad šiuo atveju nenurodėme jokio paketo kvietinio, kadangi ir pačiame programos faile jo nebuvo apsibrėžę.

---------------------------------------------------------

5. Tai tik pavyzdys, naudingas daugiau mokomaisiais tikslais. Web atveju, po kompiliavimo, turėtume susikurti HTML failą:
[code]<HTML>
<HEAD><TITLE> APPLET [color=red][b]Test[/b][/color]</TITLE></HEAD>
<BODY><APPLET CODE="[color=red][b]Test[/b][/color]" WIDTH="[u]200[/u]" HEIGHT="[u]200[/u]"></APPLET></BODY>
</HTML>[/code]

Tokiu atveju rezultatą gautume ne į comandinę eilutę, bet į Applet bloką web tinklapyje, kur bloko dydis šiuo atveju būtų 200x200 taškų.