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ä?
Onhan manifest.mf kunnossa? Siellä pitäisi olla jotain tähän tyyliin:
Main-Class: MyPackage.MyClass
Ei vaikutusta.
Muistin myös lisätä tyhjän rivin tiedostoon, kuten Javan dokumentaatiossa sanotaan.
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ää?
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.
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
Aihe on jo aika vanha, joten et voi enää vastata siihen.