Class-tiedoston ajo?
Xcode, Mac OS X Server sekä muuta hauskaa ja hyödyllistä
9 viestiä
• Sivu 1/1
-
- Viestit: 2634
- Liittynyt: 12.8.2006 klo 12.50
- Paikkakunta: Helsinki
Class-tiedoston ajo?
Viesti Kirjoittaja Macpoika »
Minulla on java-ohjelma, joka on tehty swingiä käyttämällä, mutta en pysty ajamaan sitä graafisesti. Mikä neuvoksi?
"meidän nuorisoliigalainen Macpoika, taituri monessa Mac-meiningissä!" — amanita
Unibody MacBook 2.4GHz C2D | Mac OS X Snow Leopard
Unibody MacBook 2.4GHz C2D | Mac OS X Snow Leopard
-
- Viestit: 65
- Liittynyt: 26.1.2005 klo 0.55
-
- Viestit: 2634
- Liittynyt: 12.8.2006 klo 12.50
- Paikkakunta: Helsinki
Viesti Kirjoittaja Macpoika »
Ja valittaa: "Exception in thread "main" java.lang.NoClassDefFoundError: Parilaskuri"bp kirjoitti:java -classpath Luokka.class Luokka
Kun käännän ohjelman normaalisti, ilmestyy työpöydälle Luokka.class -tiedoston lisäksi myös Luokka$1.class -tiedosto. Jälkimmäinen ei toimi klikkaamalla, mutta edellinen toimii. Mutta jos jälkimmäisen poistaa, edellinen ei toimi.
"meidän nuorisoliigalainen Macpoika, taituri monessa Mac-meiningissä!" — amanita
Unibody MacBook 2.4GHz C2D | Mac OS X Snow Leopard
Unibody MacBook 2.4GHz C2D | Mac OS X Snow Leopard
-
- Viestit: 52
- Liittynyt: 13.12.2004 klo 12.51
Viesti Kirjoittaja Tombio »
Enpä tiedä, onko ongelmasi ratkennut, mutta...
Tiedostoon Luokka.java
Käännetään komennolla "javac Luokka.java"
Ajetaan komennolla "java Luokka" Luokalle ei siis anneta mitään päätettä.
.class tiedosto ei pelitä classpathin kanssa. Oikea classpath ajettaessa samasta kansiosta, on . Eli "java -classpath . Luokka"
Tiedostoon Luokka.java
Koodi: Valitse kaikki
public class Luokka {
public Luokka(){
System.out.println("Luokka tulostaa");
}
public static void main(String [] args){
new Luokka();
}
}
Ajetaan komennolla "java Luokka" Luokalle ei siis anneta mitään päätettä.
.class tiedosto ei pelitä classpathin kanssa. Oikea classpath ajettaessa samasta kansiosta, on . Eli "java -classpath . Luokka"
-
- Viestit: 2634
- Liittynyt: 12.8.2006 klo 12.50
- Paikkakunta: Helsinki
Viesti Kirjoittaja Macpoika »
Onko ihmisillä lukutaidottomuutta? Jos haluan ajaa ohjelman graafisesti, en käytä ajoon komentoriviä. Itsestään selvää pitäisi olla, että tiedän komennot kääntämiseen ja ajamiseen, jos olen javaa opetellut.
"meidän nuorisoliigalainen Macpoika, taituri monessa Mac-meiningissä!" — amanita
Unibody MacBook 2.4GHz C2D | Mac OS X Snow Leopard
Unibody MacBook 2.4GHz C2D | Mac OS X Snow Leopard
-
- Viestit: 52
- Liittynyt: 13.12.2004 klo 12.51
Viesti Kirjoittaja Tombio »
Tietysti voisit yrittää esittää kysymyksesi niin, että siitä olisi edes mahdollista ymmärtää hieman enemmän kuin vähän alusta.Macpoika kirjoitti:Onko ihmisillä lukutaidottomuutta? Jos haluan ajaa ohjelman graafisesti, en käytä ajoon komentoriviä. Itsestään selvää pitäisi olla, että tiedän komennot kääntämiseen ja ajamiseen, jos olen javaa opetellut.
Olettaen siis, että haluat käynnistää ohjelmasi Desktopilta klikkailemalla jotain kuvaketta tjsp. Sinun pitää tehdä luokistasi jar-paketti, jolloin OS X osaa suorittaa kyseisen tiedoston tiedostotyyppiassosiaatioiden perusteella javalla. Ollaanko nyt oikeilla jäljillä, vai arvotaanko lisää
![Iso hymy [:D]](./images/smilies/icon_biggrin.gif)
EDIT: Tutoriaali vielä em. aiheesta
Viimeksi muokannut Tombio, 19.4.2007 klo 8.33. Yhteensä muokattu 1 kertaa.
-
- Viestit: 2634
- Liittynyt: 12.8.2006 klo 12.50
- Paikkakunta: Helsinki
-
- Viestit: 52
- Liittynyt: 13.12.2004 klo 12.51
Viesti Kirjoittaja Tombio »
Komento "jar cfm Luokka.jar MANIFEST.MF *.class"
MANIFEST.MF tiedoston sisältö seuraavanlainen (huomaa capseilla kirjoitettu tiedoston nimi.)
Main-Class on se oleellinen asia. Viittaa tietenkin tiedostoon, jossa main-funktiosi lojuu.
Tämä sitten ajetaan komentoriviltä komennolla "java -jar Luokka.jar" tai suoraan tupla-klikkaamalla jar-tiedostoa.
MANIFEST.MF tiedoston sisältö seuraavanlainen (huomaa capseilla kirjoitettu tiedoston nimi.)
Koodi: Valitse kaikki
Manifest-Version: 1.0
Created-By: Tombio
Main-Class: Luokka
Tämä sitten ajetaan komentoriviltä komennolla "java -jar Luokka.jar" tai suoraan tupla-klikkaamalla jar-tiedostoa.
-
- Viestit: 41
- Liittynyt: 25.4.2007 klo 2.17
Viesti Kirjoittaja ziggysd »
Java tekee tuollaisia anonyymeistä sisäluokista. Jos siis teet jotain tällaista:Macpoika kirjoitti: Kun käännän ohjelman normaalisti, ilmestyy työpöydälle Luokka.class -tiedoston lisäksi myös Luokka$1.class -tiedosto. Jälkimmäinen ei toimi klikkaamalla, mutta edellinen toimii. Mutta jos jälkimmäisen poistaa, edellinen ei toimi.
Koodi: Valitse kaikki
import java.io.Serializable;
public class Luokka
{
public Serializable foo()
{
return new Serializable() {};
}
}
9 viestiä
• Sivu 1/1
Palaa sivulle “Ohjelmointi, skriptit ja palvelimet”
Hyppää
- Yleiset aiheet
- ↳ Ajankohtaista Apple-maailmasta
- ↳ Käyttöjärjestelmät
- ↳ Ohjelmat
- ↳ Yleiskeskustelu
- Mac ja oheislaitteet
- ↳ Yleiskeskustelu laitteista
- ↳ MacBook, MacBook Pro ja MacBook Air
- ↳ iMac
- ↳ Mac mini
- ↳ Mac Pro ja Mac Studio
- ↳ Ongelmia Macin kanssa?
- iPhone, iPad ja Apple Watch
- ↳ iPhone-, iPad- ja Apple Watch -laitekeskustelu
- ↳ iPhone-, iPad- ja Apple Watch -ohjelmat sekä iOS
- ↳ Ongelmia iPhonen, iPadin tai Apple Watchin kanssa?
- Huviksi ja hyödyksi
- ↳ Off-topic
- ↳ Kuva ja graafinen suunnittelu
- ↳ Audio ja musiikki
- ↳ Video, televisio ja elokuvat
- ↳ Pelit ja pelaaminen
- ↳ Ohjelmointi, skriptit ja palvelimet
- ↳ Tietoturva ja varmuuskopiointi
- ↳ Verkot, mobiilidata ja muut puhelimet
- ↳ Retronurkka
- ↳ Foorumin ylläpito
- Kauppapaikka
- ↳ Myydään Mac
- ↳ Myydään iPhone, iPad ja iPod
- ↳ Myydään muut Applen tuotteet
- ↳ Myydään muuta tietotekniikkaa
- ↳ Ostetaan Mac
- ↳ Ostetaan iPhone, iPad ja iPod
- ↳ Ostetaan muut Applen tuotteet
- ↳ Ostetaan muuta tietotekniikkaa
- ↳ Vaihdetaan, annetaan, työtä haetaan ja tarjotaan
- ↳ Kauppapaikan keskustelu ja hintavinkit