Permalänk

Göra sitt program fritt java

Jag håller på att skapa ett program men har aldrig fattat hur man gör för att få sitt program fristående från programmeringsprogrammet. När jag ska exportera det så väljer jag att det ska vara en jar-fil.

Jag får ut den ur programmet men sedan när jag ska starta det så står det Failed to load Main-Class manifest attribute from C:\hh.jar

Vad är det jag gör fel? Vilken fil ska man rikta manifest mot? Någon speciell kod man behöver i programmet för att kunna exportera det?

Det är java jag programmerar i till windows export för tillfället. Använder programmet GILD att programera i. Ifall någon nu vill veta vilket det är så kan jag länka det

Permalänk

Att tillägga är att jag inte har något grafiskt i programmet utan bara ren text så det borde öppna sig i komandotolken tycker man med hjälp av java

Permalänk
Medlem

Du måste skicka med ett manifest där du bland annat anger Main-Class (den klass som innehåller din main-metod).
Om du använde eclipse så väljer du Export -> Runnable JAR så sköter eclipse jobbet åt dig.

EDIT: Angående hur filen öppnas beror lite på din java-installation, men i de flesta fall ska det räcka med att dubbelklicka på filen så kommer det att köras i kommandotolken. Funkar det inte så kika här: http://stackoverflow.com/a/394628/940731

Permalänk
Skrivet av MrMadMan:

Du måste skicka med ett manifest där du bland annat anger Main-Class (den klass som innehåller din main-metod).
Om du använde eclipse så väljer du Export -> Runnable JAR så sköter eclipse jobbet åt dig.

jag försökte med detta men det funkade inte. (Använder eclipse)
Jag har en main metod som heter safe.java kan vi säga. Då ska den alltså bara fixa detta automatiskt utan att jag riktar det mot safe.java/safe.class?

Permalänk
Medlem
Skrivet av Deathdevil:

jag försökte med detta men det funkade inte. (Använder eclipse)
Jag har en main metod som heter safe.java kan vi säga. Då ska den alltså bara fixa detta automatiskt utan att jag riktar det mot safe.java/safe.class?

När du exporterar så får du välja vilken run configuration som ska användas som grund. I den run configurationen väljer du vilken som är din main-klass (men det har du förmodligen redan gjort om du kan starta programmet från eclipse).

Permalänk
Skrivet av MrMadMan:

När du exporterar så får du välja vilken run configuration som ska användas som grund. I den run configurationen väljer du vilken som är din main-klass (men det har du förmodligen redan gjort om du kan starta programmet från eclipse).

Okej.

Här är alla steg efter jag valt jar-file. I main class har jag valt "safe". Nu har jag kommit lite längre men programmet vill inte starta det bara laddar. Får alltså inte upp någon ruta utan den belastar bara CPU:n

Permalänk
Medlem

Om du kör den via kommadoprompten med "java -jar Filnamnet.jar" då?

Sen är det Export -> Runnable JAR file och inte JAR file du bör välja Då ska man få välja bland de launch configs man tidigare använt i Eclipse

Visa signatur

Spelrigg: 800D| i7 3930K@4,7 GHz - Custom WC | 32 GB Kingston HyperX Beast | 7970 GHz X-Edition |1x30 Dell U3011, 2x27" | Sennheiser HD650 | Xonar Essence STX |
Laptop: G74SX 17,3" 120 Hz 3D |
Server: Phenom II X4 955BE | Corsair XMS3 8 GB | 16 HDDs, 27 TB |
HTPCs: ASUS EEE Box 1.8 Ghz | Blu-Ray | OCZ Vertex 2 60 GB | 4 GB RAM |

Permalänk
Skrivet av Gnejs:

Om du kör den via kommadoprompten med "java -jar Filnamnet.jar" då?

Sen är det Export -> Runnable JAR file och inte JAR file du bör välja Då ska man få välja bland de launch configs man tidigare använt i Eclipse

Känner mig ganska handikappad när det kommer till komandotolken. Hur ska man skriva då?
ex: c:\> java hh -jar?

Permalänk
Medlem

Använd "cd" för att ta dej till katalogen där jar filen ligger, tex om jar filen ligger på ditt skrivbord, skriver du "cd C:\Users\*USERNAME*\Desktop" sedan skriver du "java -jar hh.jar"

Permalänk
Skrivet av Arouzen:

Använd "cd" för att ta dej till katalogen där jar filen ligger, tex om jar filen ligger på ditt skrivbord, skriver du "cd C:\Users\*USERNAME*\Desktop" sedan skriver du "java -jar hh.jar"

Detta funkade. tack:D

Permalänk

Eftersom det blev ett sånt jobb med att få igång det i komandotolken så undrar jag ifall det finns någon enkel kod så man skapar ett fönster när man startar programmet och där texten står i?

Permalänk
Skrivet av Deathdevil:

Eftersom det blev ett sånt jobb med att få igång det i komandotolken så undrar jag ifall det finns någon enkel kod så man skapar ett fönster när man startar programmet och där texten står i?

Jag har ett script någonstans som bindar dubbelklick på .class och .java-filer så att man lätt kan kompilera och köra programmen.
Ska kika om jag hittar det.

EDIT: Förstod det lite fel. Fattade inte att det var .jar som gällde.

Hittade denna guide på engelska. Du skulle kunna pröva.

Step 1: Start Control panel
Step 2: Click Default Programs
Step 3: Click Associate a file type or protocol with a specific program
Step 4: Double click .jar
Step 5: Browse C:\Program Files\Java\jre7\bin\javaw.exe
Step 6: Click the button Open
Step 7: Click the button OK

Permalänk
Medlem

Detta hjälper tyvärr inte dig, istället för att göra 2st posts efter varandra med 1 minuts mellanrum så kan du klicka på "ändra" knappen så du inte bumpar tråden för att få den högst upp.

Visa signatur

Chassi: Fractal Design Meshify-C Moderkort: Asus P8Z77V-Pro Hårddisk: 128GB SSD+1TB SSD CPU: i5 3570K 3.4GHz RAM: Corsair 8GB vengeance CPU kylare: Cooler Master Hyper 212+ GPU: ASUS GTX 680 2GB PSU: Corsair TX650W
P280 Crossfire Citera för svar

Permalänk
Hedersmedlem

Nej nu tar du och öppnar jar-filen som du skapat med "Runnable JAR file" i eclipse exporten. Det är en zip-fil så borde gå att ta "öppna med" om du har vettigt program för zip eller så får du döpa om filändelsen. Sen tar du och letar upp mappen META-INF, i den finns filen MANIFEST.MF
Klistra in den här i forumet, i

taggar

Visa signatur

Forumregler | Feedbackforumet | Något som behöver modereras? Tryck på Anmäl inlägget och ge en anledning, någon moderator kommer granska inlägget och göra (egen) bedömning
"Fate. Protects fools, little children and ships named Enterprise." - Riker - ST:TNG