Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: Java-ohjelmoinnin alku

Sivun loppuun

nard0xx [21.07.2008 22:18:44]

#

eli kun tuo teksti pitää kääntää komentorivillä niin miksi se vaan valittaa että "javac ei tunnistettu sisäiseksi tai ulkoiseksi komennoksi"?

Jackal von ÖRF [22.07.2008 00:05:41]

#

JDK pitää olla asennettuna ja sen bin-kansion pitää olla PATH:n varrella. Tai sitten käytä javac:n koko polkua, esim. "C:\Program Files\Java\jdk1.6.0_07\bin\javac.exe" Testi.java

nard0xx [22.07.2008 01:26:22]

#

eikö se olekkaan SDK? kiitos. pitää kokeilla

Blaze [22.07.2008 07:53:59]

#

"Java SDK" lyhentyy kätevästi "JDK":ksi :)

nard0xx [22.07.2008 11:36:08]

#

okei:D olen aloittelia enkä voi tietää kaikkia lyhenteitä ja käsitteitä vielä tässä vaiheessa:) Voiko joku vielä tarkentaa tota "PATH"? onks se joku tiedostopolku?
pitääkö koodi tallentaa siis tuonne bin kansioon? tallensin eikä toimi.
JA minkä takia komentorivini laittaa aina suoraan C:\Doncuments and settings\Admin> ?
Kai se on se komentorivi mikä tulee kun kirjotetaan suorita palkkiin cmd?
Älkää naurako kun luette typeriä kysymyksiäni.. Varmaan itsekkin olette joskus aloittaneet.

Metabolix [22.07.2008 11:56:12]

#

nard0xx kirjoitti:

Voiko joku vielä tarkentaa tota "PATH"? onks se joku tiedostopolku?

Se on ympäristömuuttuja, joka sisältää ne polut, joista käyttöjärjestelmä etsii ohjelmaa. Kun siis kirjoitat "javac", Windows etsii sitä PATHin sisältämistä hakemistoista, usein esim. C:\Windows ja C:\Windows\System32. Siksi PATHiin pitää lisätä javac:n oikea hakemisto eli tuo JDK:n bin-hakemisto. Muutos onnistuu luultavasti Oman tietokoneen asetuksista. Arvon voit tarkistaa komentorivillä komentamalla PATH. Lisäyskin onnistuu väliaikaisesti: SET PATH=C:\uusi\polku;%PATH%.

nard0xx kirjoitti:

pitääkö koodi tallentaa siis tuonne bin kansioon?

Ei pidä.

nard0xx kirjoitti:

JA minkä takia komentorivini laittaa aina suoraan C:\Doncuments and settings\Admin> ?

Koska se on ilmeisesti käyttäjäsi kohtihakemisto ja siksi looginen paikka aloittaa. Sama käytäntö on muissakin käyttöjärjestelmissä, mm. Linuxin /home/matti_meikalainen.

nard0xx kirjoitti:

Kai se on se komentorivi mikä tulee kun kirjotetaan suorita palkkiin cmd?

On. Onnittelen löydöstä. :)

nard0xx kirjoitti:

Älkää naurako kun luette typeriä kysymyksiäni.. Varmaan itsekkin olette joskus aloittaneet.

Emme. Kunhan jaksat yrittää omatoimisestikin, mitä läheskään kaikki eivät tosiaan tunnu jaksavan.

TsaTsaTsaa [22.07.2008 11:59:06]

#

- PATH on ympäristömuuttuja joka sisältää listan kansioita, joissa on ajettavia ohjelmia joita halutaan pystyä suorittamaan mistä tahansa muustakin kansiosta. Vanhasta keskustelusta löytyi ohje lisäämiseen:

FooBat menneisyydessä kirjoitti:

Tuolla jdk hakemiston "bin" alihakemistossa pitäisi olla javac-ohjelma. Tuo hakemisto kannattaa lisätä PATH-ympäristömuuttujaan, jolloin ne toimivat kaikkialta. Noita voi muuttaa ohjauspaneeli -> järjestelmä (system) -> lisäasetukset (advanced) -> ympäristömuuttujat (Environmental variables) -> muokkaa (edit).

- Älä koodia JDK:n bin-kansioon laita.
- Olet kirjautunut Admin-käyttäjällä.
- Se on juurikin komentorivi.
- Ei naureta.

EDIT: Olinpa hidas.

nard0xx [22.07.2008 21:29:58]

#

Kiitos:) tämä varmasti auttaa, kokeilen heti kun on aikaa eli varmaankin vielä tänä iltana. laitan sitten lisää kysymystä jos ei vieläkään onnistu:D

Edit: onko sillä siis väliä mihin kansioon koodin laittaa? ja saako tuota documents and settingsiä muutettua komentoriviltä pois?

TsaTsaTsaa [22.07.2008 21:43:52]

#

nard0xx kirjoitti:

Edit: onko sillä siis väliä mihin kansioon koodin laittaa?

Ei.

nard0xx kirjoitti:

ja saako tuota documents and settingsiä muutettua komentoriviltä pois?

Saa, kun siirryt eri kansioon cd-komennolla.

nard0xx [22.07.2008 22:19:04]

#

No voitko sitten kertoa minne se pitää tallentaa? Hemmetti tätä javaa, helpoks kieleks sanottiin enkä saa sitä edes käännettyä.. koodi on kyllä melko helppolukusta mutta kääntäminen.. huoh. en saa edes siirryttyä eri kansioon komentorivillä kun se valittaa joku syntaksi ei kelpaa. voiko joku kirjoittaa mitä siihen tarkalleen pitää kirjoittaa että sen saa vaihdettua.? En ole kokenut koodaaja joten en voi ymmärtää kaikkea pikku vihjeestä. tarvitsen yksityiskohtaiset tiedot :D
ja vielä siitä kääntämisestä. kun oppaassa jota käytän lukee että kun komento riville kirjoittaa javac nimi.java niin sen pitäisi tehdä jonnekkin joku toinen tiedosto joka olisi käännetty java tavu kieleksi joka taas on valmis käännettäväksi tai tulkattavaksi niin minne sen tiedoston pitäisi tulla ja miten se käännetään. jollain ohjelmalla ja minulla sellainen onkin mutta en sitä osaa käyttää. toivon ettette kyllästyä minua auttamaan ennen kun saan koodia käännettyä koska sen jälkeen pärjään kyllä.:D
sain jo laitettua program filesit pathiksi, ainakin mielestäni. edistys askel:P

Antti Laaksonen [22.07.2008 22:35:10]

#

Näin voit liikkua hakemistoissa ja luoda uuden hakemiston:

Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\Documents and Settings\Antti>cd..

C:\Documents and Settings>cd..

C:\>mkdir ohjelmat

C:\>cd ohjelmat

C:\ohjelmat>

Seuraavaksi voit tehdä pari hyödyllistä BAT-tiedostoa:

C:\ohjelmat>copy con kaanna.bat
c:\java5\bin\javac %1
^Z
        1 file(s) copied.

C:\ohjelmat>copy con aja.bat
c:\java5\bin\java %1
^Z
        1 file(s) copied.

Muuta kuitenkin hakemistot (c:\java5\bin\) vastaamaan omia hakemistojasi.

Merkintä ^Z tarkoittaa näppäinyhdistelmää Control + Z.

Tämän jälkeen voit kirjoittaa ensimmäisen Java-ohjelman (Testi.java):

class Testi {
    public static void main(String[] args) {
        System.out.println("Toimii!");
    }
}

Kun tallennat ohjelman hakemistoon C:\ohjelmat, voit kääntää ja ajaa sen näin:

C:\ohjelmat>kaanna Testi.java

C:\ohjelmat>c:\java5\bin\javac Testi.java

C:\ohjelmat>aja Testi

C:\ohjelmat>c:\java5\bin\java Testi
Toimii!

C:\ohjelmat>

Toinen ja neljäs komento tulevat suoraan BAT-tiedostoista.

vehkis91 [22.07.2008 22:45:44]

#

Voisi olla helpompaa aluksi käyttää jotain ideä...

nard0xx [23.07.2008 00:05:47]

#

Kaiken muun saan tehtyä paitsi tuon käännöksen ja ajamisen:( en ymmärrä mikä tässä mättää..

Jackal von ÖRF [23.07.2008 00:08:49]

#

Kerro täsmälleen, että mitä teet ja minkä ilmoituksen ohjelma antaa, jos haluat saada apua.

Nuo vaikeudet liittyvät komentorivin käyttöön, eivätkä niinkään Javaan. Windowsin komentorivi on kankea työkalu verrattuna Unixien komentoriveihin... :/

Mielestäni ensin kannattaa opetella sen verran komentorivin käyttöä, että osaa kääntää koodit komentoriviltä. Sitten kun osaa tehdä sen, eikä kääntäminen ole enää mikään maaginen vaihe, niin kannattaa siirtyä jonkin IDE:n käyttöön.

Suosituimmat IDE:t Javalle ovat IntelliJ IDEA (kaupallinen), NetBeans (ilmainen) ja Eclipse (ilmainen). Itse aloitin aikoinaan JCreator:lla (jonka ilmaisversiosta tosin puuttuu aivan perustoimintoja) ja muutaman vuoden koodailun jälkeen vaihdoin IDEA:aan. Jos kirjoitettava ohjelma on pieni (yksi tiedosto ja joitakin kymmeniä rivejä), niin sen tekee vaikka Notepadilla ja kääntää komentoriviltä, mutta yhtään isommissa projekteissa kunnon IDE on ehdoton.

P.S. Antin esimerkkeihin sellainen lisäys, että jos osoitepolussa on välilyöntejä, niin koko polku pitää laittaa lainausmerkkeihin, kuten edellisessä viestissäni.

nard0xx [23.07.2008 00:20:39]

#

ei auta viäkään komentorivi valittaa edelleen. se sanoo "tiedostopolku\bin" ei tunnistettu sisäiseksi tai ulkoiseksi suoritettavaksi ohjelmaksi tai komenti tiedostoksi. kun laitan tuon kaanna Testi.java

kokeilin tehdä sen uudestaan jo lähemmäs kymmenen kertaa mutta aina sama

nard0xx [23.07.2008 01:08:46]

#

toimiiko IDE ohjelmat samoin tavoin kui vaikka c++kääntäjät? omistan jo tuon NetBeans IDE 1.6. neuvoja käyttöön ja kääntämiseen silläkin saa antaa koska ensikokeilulla en siinä onnistunut.
Älkää huokailko liian syvään, kyllä minäkin vielä joskus opin:D

Grez [23.07.2008 01:47:16]

#

IDE tarkoittaa Integrated Development Environment. Eli tyypillisesti se tarkoittaa työkalua, jossa kaikki koodin luonnista mahdollisesti jopa valmiin softan julkaisemiseen asti on "helposti" käytettävissä samalla käyttöliittymällä.

IDE-ohjelmat eivät siis toimi samalla tavalla kuin C++ -kääntäjät, koska C++ kääntäjät vain kääntävät C++ koodia objekteiksi.

Java IDE:t toimivat tietenkin periaatteessa samalla tavalla kuin C++ IDE:t.

Jackal von ÖRF [23.07.2008 12:47:54]

#

nard0xx kirjoitti:

se sanoo "tiedostopolku\bin" ei tunnistettu sisäiseksi tai ulkoiseksi suoritettavaksi ohjelmaksi tai komenti tiedostoksi.

Mikä on tarkka virheilmoitus? Tuskin sinulla mitään tiedostopolku-kansiota on, joten et varmaankaan copy-pastennut tuota virheilmoitusta. Pastea tänne käyttämäsi komento ja järjestelmän antama virheilmoitus.

nard0xx [23.07.2008 14:34:25]

#

kerro miten copy pastaan komentoriviltä. tiedostopolulla tarkoitin sitä polkua joka johtaa bin kansiooni.
Nyt kun taas jotain ssädin nin tuli erilaisia erroreita. Tulee jotain

"tiedostopolku\javac" Testi.java
Testi.java:2:cannot find symbol
symbol  : class string
location: class Testi
        public static void main(string[] args)
Testi.java:3: package system does not exist
                          system.out.println("Toimii!");
2 errors

Jackal von ÖRF [23.07.2008 14:46:14]

#

Vasen ylänurkka > Edit > Select All, Enter

nard0xx [23.07.2008 14:56:24]

#

kiitos tosta kopsaus vinkistä.. harmi vain että koodaan toisella koneella ja tää foorumi auki toisella:D

Jackal von ÖRF [23.07.2008 15:19:36]

#

Nyt näköjään sait kääntäjän toimimaan. Enää pitää korjata ohjelman syntaksivirheet: String ja System pitää kirjoittaa isolla alkukirjaimella.

nard0xx [23.07.2008 16:09:28]

#

kiitos:) nyt se teki uuden Testi.class tiedoston.:D mutta kun sitä yrittää ajaa niin ei onnistu.
"tiedostopolku\java" Testi määritettyä polkua ei löydy.
Tarkistin eikä polussa pitäisi olla virheitä.

EDIT: jumankekka!! NYT se toimii! jos se pitäisikin tehdä näin:
"tiedostoplku\java" Testi
Toimii!

Kiitos avustanne ja tuestanne! kiitos että jaksoitte auttaa ettekä kaikki kaikonneet niinkuin joillain foorumeilla jotkut tekevät kun jotai kysyy.
KIITOS!


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta