Nejste přihlášen/a.
Ahoj. Začal jsem se učit základy javy a narazil jsem na problém už při klasickém "Hello, world".. Nainstaloval jsem J2SDK jak podle instrukcí, ale poté nastává poněkud zmatená část kde se píše že "je nutné mít v cestě podadresář /bin". Tento adresář jsem našel v program files v instalaci SDK, ale moc jsem nepochopil co přesně s ním mám dělat.. Zkoušel jsem dát do něj onen .java soubor, zkoušel jsem ho překopírovat z té složky jinam a potom tam ten soubor dát.. A poté vždy podle knížky do CMD "javac HelloWorld.java".. Pokaždé dostanu hlášku, že "javac nebyl rozpoznán jako příkaz, spustitelný program nebo dávkový soubor".
Poradil by mi prosím někdo jak na to?
Ona "cesta" neboli systémová proměnná %path% je výčet složek, ze kterých se dají programy volat přímo svým jménem, nemusí se u nich uvádět plná cesta. Její obsah si v příkazovám řádku můžete vypsat, echo %path% .
Ona by vám ta kompilace fungovala, kdybyste místo javac napsal celé "c:program filesjava...javac soubor.java", ale to je trochu nepraktické, sice byste se mohl do dané složky přepnout, ale pak byste zas musel zadávat plné cesty ke zdrojákům. Takže nejlíp tam tu cestu přidat: winkey+pause, vlevo Pokročilé, dole Proměnné prostředí, vybrat Path, Upravit, na konec připsat středník a za něj cestu k javac (běžně s mezerama, ne v uvozovkách).
Nebo druhá možnost, vytvořit si ve složce s projektem nějaký bat soubor na způsob makefilu, do něj zadat potřebné příkazy i s přepínači a se vším a překládat to spuštěním toho batu.
Tak už mi to alespoň najde javac, ale tvrdí mi to, že nemůže najít daný soubor... Soubor .java jsem dal do té složky bin, která už je tedy přidaná v %path% ale tvrdí mi to, že soubor nebyl nalezen.. Překlep tam nikde nebyl, a když jsem zkusil ten název souboru za javac napsat bez té koncovky .java tak mi to píše "error: Class names, 'HelloWorld', are only accepted if annotation processing is explicitly requested. 1 error."
Do bin to už nedávejte, cestu jste nastavil proto, abyste javac mohl volat kdykoli odkudkoli. Zdroják si dáte do svý složky s projektem, vlezete do ní v příkazovém řádku a rovnou tam zadáte javac (přes cestu ho to najde) a váš zdroják, který je přímo v té složce. Ten napište včetně přípony .java, tahle chyba je kvůli tomu, že tam tu příponu nemáte uvedenou.
funguje to, díky moc
Aha, tak jsem narazil na další problém.. Když jsem chtěl program spustit pomocí příkazu "java" v cmd tak mi to hlásí "Could not find or load main class umístení souboru".. Při překladu jsem zadával "javac C:skriptyHelloWorld.java". Nyní jsem dal "java C:skriptyHelloWorld" a hlásí mi to tento error..
Vstupním místem programu je metoda zvaná main. Pro spuštění zadáte java a název třídy, ve které ta metoda je. Musí se jmenovat main a musí být statická.
main se jmenuje, statiská je.. "public static void main ( String arg[] )"
ale když zadám cestu do složky kde jsou jak .java tak .class uložené, hlásí to výše zmíněnou chybu.. zadávám "java C:skriptyHelloWorld" .. při překladu to samé, akorát místo java byl javac a na konci ještě koncovka .java, tu nyní nedávám.. Ale příkazový řádek mi pořád hlásí chybu..
ten zdroják je tak krátký, že ho klidně hodím sem
Nemám tu sdk a na online compileru jsem ve frontě už od doby, co jste poslal minulou odpověď..
Jestli nekecám, tak by mělo být parametrem pole stringů s nějakým názvem, tedy String[] args. Docela bych si myslel, že tohle by ani nemuselo jít zkompilovat
tak jsem upravil soubor .java, zkusil znovu zkompilovat a už nejde ani to :D cmd sice nenahlásí žádnou chybu, ale ve složce se žádný .class neobjeví (.java soubor jsem před kompilací přejmenoval, takže k přepsání původního .class nedošlo)
Ještě jedna věc, když koukám na to, jak to spouštíte: musíte být ve složce s tím souborem a uvést jen jeho název, takhle s plnou cestou to nejde (nebo asi jde, ale musí se někde.. něco..).
Neneseme odpovědnost za správnost informací a za škodu vzniklou jejich využitím. Jednotlivé odpovědi vyjadřují názory jejich autorů a nemusí se shodovat s názorem provozovatele poradny Poradte.cz.
Používáním poradny vyjadřujete souhlas s personifikovanou reklamou, která pomáhá financovat tento server, děkujeme.