Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: Java: Could not find the main class

Macro [07.03.2012 19:50:54]

#

Terve

Kokeilin pyörittää matopeliäni toisella koneella, mutta jar-tiedostoa käynnistäessä tulee virhe.

Java Virtual Machine Launcher kirjoitti:

Could not find the main class. Program will exit.

Omalla koneellani tuo jar-tiedosto käynnistyy ongelmitta.

Netistä löytyy paljon keskustelua, joissa käsketään asentamaan Java uudelleen, mutta kun kaikki muut Java-sovellukset toimivat, niin tuskin se siinä on vikana.

Mitä pitäisi tehdä?

jukkah [08.03.2012 10:54:11]

#

Onhan manifest.mf kunnossa? Siellä pitäisi olla jotain tähän tyyliin:

Main-Class: MyPackage.MyClass

Macro [08.03.2012 19:11:39]

#

Ei vaikutusta.

Muistin myös lisätä tyhjän rivin tiedostoon, kuten Javan dokumentaatiossa sanotaan.

Metabolix [08.03.2012 19:21:50]

#

Oletko kuitenkin tarkistanut JAR-tiedoston toimivuuden kehityskoneella, vai oletko ajanut ohjelmaa ainoastaan kehitysympäristön kautta, jolloin JAR-tiedoston sisällöstä ei ole takeita? Oletko katsonut, mitä tiedostoja JAR-tiedosto sisältää?

Macro [08.03.2012 19:28:43]

#

JAR-tiedosto käynnistyy kehityskoneella sekä kaksoisklikkaamalla tiedoston auki että suorittamalla sen komentoriviltä. Tiedosto sisältää kansiot snake ja META-INF, joista ensimmäinen sisältää class-tiedostot (mukaanlukien main-luokan sisältävän Snake.class:n) ja jälkimmäinen manifest.mf:n.

Netbeans on nähtävästi täydentänyt manifest-tiedostoa seuraavasti.

Manifest-Version: 1.0
Ant-Version: Apache Ant 1.8.2
Created-By: 1.7.0_03-b05 (Oracle Corporation)
Class-Path:
X-COMMENT: Main-Class will be added automatically by build
Main-Class: snake.Snake

JAR-tiedosto käynnistyy kyllä muillakin koneilla, kun sen suorittaa komentoriviltä java -jar Snake.jar, se vain on vähän kömpelö tapa käynnistää se.

sham1 [10.03.2012 18:53:31]

#

Sinä ei muistanut laittaa classpathii, laita siihen "Class-Path:"-kohan perään jotain, jolla pääset jar-tiedoston root-hakemistoon, olettaen tietenkin että tuo snake-paketti on siellä root-hakemistossa :P

Vastaus

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

Tietoa sivustosta