Diskuze: Jak otevřít a spustit .java soubor v NetBeans ?
Atrament:28.9.2021 14:17
Netbeans fungují na úrovni projektů, takže si na tu flashku nahrej celý ten projekt ne jenom jeden java soubor, a pak otvírej v Netbeans celý ten projekt.
Lubor Pešek:4.10.2021 17:04
Možná špatně chápeš, jak Java jako taková funguje.
Máš mnoho způsobů, jak spouštět Java programy. Když pominu webové
technologie, které k tomu potřebují aplikační servery, tak máš v
podstatě dvě možnosti.
- Buď spustíš zkompilovaný kód (.class soubor)
- Nebo spustíš archiv (.jar soubor)
V souborech .java uchováváš svůj vlastní kód, který jsi někde
naťukal.
Ten je přizpůsobený takovému jazyku, aby ti to bylo bližší a abys ho mohl
lépe číst. Jenže to, co napíšeš, tak to ten počítač nepochopí.
Kupříkladu počítač nepochopí, že tady existuje nějaká třída s názvem
System. I ve 21. století stále počítače pracují na principu jedniček a
nul:)
Je to docela pěkně popsané v první lekci zdejšího Java tutoriálu. Ty
musíš svůj zdrojový kód ZKOMPILOVAT do tzv. bytekódu, který potom
převede použitý interpret do strojového kódu a s tím už umí počítač
pracovat.
Tak a teď co to pro tebe znamená v praxi:)
To, že si přeneseš .java soubor, tak to je v podstatě to hlavní krédo
celého programu. Jak máš zdroják, můžeš s tím něco dělat.
Pokud máš jen .java soubory, tak na počítači, kde je nainstalováno JDK (a
správně nastaveno - což bohužel musí dnes programátoři i kontrolovat,
protože od té doby, co to převzal oracle, tak instalace Javy dělá mnohým
programátorům problémy), tak můžeš buď:
- použít příkaz javac v příkazovém řádku (ale proč bys takovou blbost dělal, když žijeme už ve století, kdy máš jednodušší cesty)
- Stačí si vytvořit nový projekt (prázdný nový projekt) v libovolném IDE a potom do adresáře src překopíruješ svůj zdroják. Potom jediné, na co si musíš dát bacha, tak pokud používáš nějaké knihovny, tak aby byly součástí toho projektu.
No a to IDE ti ten zdroják při spuštění samo zkompiluje (do .class souborů) a ty ho můžeš opět pustit.
No ale předpokládám, že už jsi asi něco naprogramoval a chtěl by ses
tím pochlubit a samozřejmě by bylo divné, kdybys to chtěl někomu poslat a
on by si musel instalovat IDE a dělat výše uvedenou proceduru. To je
samozřejmě blbost a Java nabízí řešení.
V podstatě na počítači, kde běží běhové prostředí (JRE - Java Runtime
Enviroment), tak můžeš spustit jakékoliv jarko (JAR = Java ARchiver). To je
obyčejná zazipovaná složka, která v sobě obsahuje manifest soubor, kterým
spustí main metodu.
Existuje několik způsobů, jak toto JARko vytvořit. Potom už ti stačí
posílat to JARko a máš spustitelnou aplikaci (i na dvojklik z plochy;) )
Je o tom tady i tutoriál, ale v podstatě...
Pokud používáš netbeans, tak Jarko se ti vygeneruje, když zvolíš položku
z menu **Run **-> **Build Project **(nebo v horní liště klikneš na to
kladívko - to je to samé).
No a pak se podíváš do adresáře projektu. Vytvořil se ti tam nový
adresář dist (distribute) a v něm máš JAR soubor.
V IDEI je to malinko komplikovanější (ale to je jen dobře -zvlášť
proto, protože si můžeš do JARka takhle lehčeji přidat i zdrojové kódy).
Ono totiž ten JAR soubor jde rozzipovat (úplně stejně, jako když
rozzipuješ zip adresář). No a v netbeansech se ti zaarchivují pouze .class
soubory. V IDEI si tam můžeš takto přidat i třeba zdrojáky (což vůbec
není špatné). Je potom samozřejmě nebezpečí, že pokud to někomu
pošleš a on to rozzipuje, tak má ihned i tvé zdrojáky k dispozici a může
si tvoji aplikaci upravit. Záleží čistě na tobě, jak se rozhodneš a jak
to použiješ.
V IDEI tedy musíš nastavit nejdřív tzv. Artifact a až ten potom zbuildíš
a vytvoříš z něj archív.
S Eclipsem ti neporadím. Pro mě osobně je to příšerné IDE, které používá spoustu svých vlastních názvů a pro mě osobně je strašně nepřehledné a nenabízí tolik nastavitelných možností, které bych si přál. Naopak tě to táhne do svých vlastních konvencí. Ale to je čistě můj osobní názor. Jestli se tu někdo najde, kdo v tom dělá, tak ti možná poradí, ale já eclipse těžce zavrhuji.
No a pak je tu další způsob... v podstatě to, co dělají ta IDEčka na
pozadí za tebe. A to, že si to napíšeš v cli (v příkazové řádce).
Není to nijak velice složité, ale já osobně do takovýchto věcí
začátečníky nezatahuji, protože jednak to v praxi využiješ minimálně a
hlavně na co se učit něco, co za tebe udělá IDE? Je sice hezké, že to
třeba víš, ale je to fakt zbytečné.
Ovšem kdyby tě to zajímalo, tak tady mám postup, který funguje. (ale nezlob
se na mě, formátovat ho nebudu, protože je to fakt jen na okrasu).
Budeme používat GIT BASH v domnění, že je vše nainstalováno a nastaveno správně.
- Otevřete si git bash (třeba na ploše nebo kdekoliv)
- Příkazem „touch“ vytvořte nějaký soubor s příponou .java
touch Soubor.java
3. Příkazem „vim“ otevřete super editor (pokud neumíte s vimem, tak
jste hodně špatní, ale ok, tak si to otevřete v nějakém jiném
editoru)
vim soubor.java
4. Napište jednoduchý prográmek pro vytvoření malého okýnka
import javax.swing.*;
public class Soubor {
public static void main(String[] args) {
JFrame frame = new JFrame();
frame.setSize(400, 400);
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
5. Zkompilujeme program pomocí příkazu javac
javac Soubor.java
6. Pro zkoušku zkusíme spustit aplikaci pomocí příkazu java
java Soubor
7. Nyní vytvoříme manifest soubor (a použijeme rychlejší cestu, takže
rovnou i spustíme editor)
vim manifest.txt
8. A napíšeme do něj mocný příkaz, kterým určíme main class
Main-Class: Soubor
9. Teď vytvoříme jar soubor pomocí příkazu jar cvfm
jar cvfm Testovaci.jar manifest.txt *.class (nebo by se dalo napsat jar cvfm
Testovaci.jar manifest.txt Soubor.class, protože máme jen jeden class
soubor)
10. No a spustíme si jarko
java –jar Testovaci.jar
Zobrazeno 3 zpráv z 3.