Från ett Eclipse-projekt till självständigt program.

Permalänk
Medlem

Från ett Eclipse-projekt till självständigt program.

Hej!

Jag är nybörjare på programmering och har lärt mig att koda lite Java i Eclipse (version Indigo). Jag har precis gjort en liten variant av spelet "Snake" och skulle vilja veta hur jag går tillväga för att starta det utan att använda Eclipse.

Kan man göra det med java -jar i kommandotolken? Jag antar att alla klassfiler och huvudprogrammet måste befinna sig i samma mapp? Behöver jag konvertera något först o.s.v.?
Tack på förhand!

Mvh Gustaf

Visa signatur

Arch Linux - i5 12500@4.75GHz - Asrock B760M PG Riptide - 32GB DDR5 6000MHz - RTX 2070 Super - 1TB SN770 - 1TB SN550 - U32PWQU 4K
Dell Latitude 7400 2 in 1 - Arch Linux - i5 8265u

Permalänk
Medlem

Går ju att exportera till "Runnable Jar File" från Eclipse, om du googlar lite så finns det säkerligen massa guider för det, var länge sen jag gjorde det själv Men det ska gå rätt smärtfritt va jag minns!

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
Medlem

Ok, jag tror att jag fick till det. Det blev en .jar-fil i slutändan, Eclipse gav mig en varning om att allt kanske inte blev rätt.
Jag kan inte starta det genom att dubbelklicka, men det fungerar dock om jag med kommandotolken skriver "java -jar C:\Snake.jar", så har det iofs varit med alla .jar filer jag har provat. Varför går det inte att helt enkelt dubbelklicka på dem?

Kan jag kanske göra en .bat-fil som öppnar kommandotolken och startar Snake.jar? Jag har noll erfarenhet av .bat-filer

Visa signatur

Arch Linux - i5 12500@4.75GHz - Asrock B760M PG Riptide - 32GB DDR5 6000MHz - RTX 2070 Super - 1TB SN770 - 1TB SN550 - U32PWQU 4K
Dell Latitude 7400 2 in 1 - Arch Linux - i5 8265u

Permalänk
Medlem

Du kan ju skriva in "java -jar C:\Snack.jar" i en bat-fil, så ska det fungera och starta.

Permalänk
Medlem

Nepp det fungerar inte, det blir samma resultat som att dubbelklicka på .jar-filen, d.v.s. kommandotolken ploppar upp och försvinner igen efter 0,2 sekunder.

Visa signatur

Arch Linux - i5 12500@4.75GHz - Asrock B760M PG Riptide - 32GB DDR5 6000MHz - RTX 2070 Super - 1TB SN770 - 1TB SN550 - U32PWQU 4K
Dell Latitude 7400 2 in 1 - Arch Linux - i5 8265u

Permalänk
Medlem
Skrivet av Fire_Ice:

Nepp det fungerar inte, det blir samma resultat som att dubbelklicka på .jar-filen, d.v.s. kommandotolken ploppar upp och försvinner igen efter 0,2 sekunder.

testa javaw

Visa signatur

Kom-pa-TI-bilitet

Permalänk
Medlem

Du får något error och programmet stänger med en gång. Starta programmet med en bat fil med en pause efter "java -jar C:\Snack.jar" som Logfan skrev

Permalänk
Medlem

Tack, fick det att fungera!

Jag gjorde som Logfan rekommenderade, men först fick jag det inte att fungera. Senare såg jag att jag hade skrivit Snack.jar, dumma mig
Men hur som helst, kan man göra så det endast kräver dubbelklick?

Java ska dessutom vara krossplattform och således fungera på min mobil t.ex.? Kan den exekvera en .jar-fil? Antar att det blir problem med t.ex. inläsning från tangentbord i och med att den inte har något fysiskt och den öppnar säkerligen inte ett virtuellt av sig självt antar jag?

Hur stor skillnad är det på att göra ett javaprogram till en PC och en mobiltelefon? Vilka saker bör man tänka på?

Visa signatur

Arch Linux - i5 12500@4.75GHz - Asrock B760M PG Riptide - 32GB DDR5 6000MHz - RTX 2070 Super - 1TB SN770 - 1TB SN550 - U32PWQU 4K
Dell Latitude 7400 2 in 1 - Arch Linux - i5 8265u

Permalänk
Medlem

Beror ju på vilken plattform du ska bygga till. Har du tänkt dig att bygga till tex Android? För då vet jag att man måste ladda ner en massa filer, för att få de metoder som krävs.

Permalänk
Hedersmedlem

Gissar på att det är något med windows och filassocationer. Och se, en googling senare:
http://stackoverflow.com/questions/394616/running-jar-file-in...
Har inte testat det själv, har inte ens dragit fram en jar-fil för att testa. Men stackoverflow brukar ha bra information.

Krossplattform som i att det ska finnas en java runtime environment för den plattformen också, ja. För Java SE finns det ju till några olika populära operativsystem. Många "dumbphones" har java ME som visserligen är javaspråk men inte fullt så stor bibliotek. Hörde från ett företag att JavaME var rätt hårigt, i deras testprocess hade de hundratals olika konfigurationer. Så om du programmerar det till din telefon så är det inte säkert det fungerar bra med en annan.
Har du en smartphone av Apple-typ eller Android så stöds inte java ME inbyggt. Har för mig det ska gå att konvertera ME till androidblioteket.
Android använder java men inte Oracles java SE eller så. Så beroende på vad ditt program ska göra kan man nog ha en viss gemensam kodbas men det är bra mycket mer jobb än att bara föra över din nuvarande .jar-fil till telefonen och köra.

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

Permalänk
Medlem
Skrivet av Fire_Ice:

Tack, fick det att fungera!

Jag gjorde som Logfan rekommenderade, men först fick jag det inte att fungera. Senare såg jag att jag hade skrivit Snack.jar, dumma mig
Men hur som helst, kan man göra så det endast kräver dubbelklick?

Java ska dessutom vara krossplattform och således fungera på min mobil t.ex.? Kan den exekvera en .jar-fil? Antar att det blir problem med t.ex. inläsning från tangentbord i och med att den inte har något fysiskt och den öppnar säkerligen inte ett virtuellt av sig självt antar jag?

Hur stor skillnad är det på att göra ett javaprogram till en PC och en mobiltelefon? Vilka saker bör man tänka på?

Du vill ha en manifest-fil: http://download.oracle.com/javase/tutorial/deployment/jar/
Ett manifest berättar (bland annat) vilken fil som är ansvarig för att köra hela jar-paketet. Läs mer om hur du skapar och inkluderar en sådan här: http://download.oracle.com/javase/tutorial/deployment/jar/app...
Det är möjligt att Eclipse redan gör detta åt dig.

Med javaw satt som förval ska det sedan gå att starta din applikation genom att dubbelklicka på arkivfilen. En jar deployad på detta vis fungerar över plattformar som har implementerat Javas standardbibliotek, dock inte Android vilket bygger på Googles egna API. Om det är Android du menar när du frågar om mobiltelefoner så är det stor skillnad mellan respektive bibliotek, men programspråket är det samma (naturligtvis).

Visa signatur

Kom-pa-TI-bilitet

Permalänk
Medlem

Jag passar på att ställa en fråga till angående detta. Hur gör man om man vill kunna köra ett javaprogram
1. som en vanligt program med en .EXE fil?
2. med ett installationsprogram för windows?

Alltså som ett program som är som de andra program som vi hämtar hem och installerar/kör på våra datorer. Antag ett simpelt program skapat med javas awt o swing paket och som ser ut som t.ex. kalkylatorn.

Permalänk
Medlem
Skrivet av Plala:

Jag passar på att ställa en fråga till angående detta. Hur gör man om man vill kunna köra ett javaprogram
1. som en vanligt program med en .EXE fil?
2. med ett installationsprogram för windows?

Alltså som ett program som är som de andra program som vi hämtar hem och installerar/kör på våra datorer. Antag ett simpelt program skapat med javas awt o swing paket och som ser ut som t.ex. kalkylatorn.

Det finns verktyg som kan omvandla Java bytecode till binärer, men det är i princip meningslöst. Poängen med Java är att det körs i en virtuell maskin, oberoende av plattform.

Skickades från m.sweclockers.com

Visa signatur

Kom-pa-TI-bilitet

Permalänk

Detta kanske är intressant.

"How do I make an .EXE file from my Java application?"
http://www.excelsior-usa.com/articles/java-to-exe.html

Visa signatur

Nature uses as little as possible of anything.
- Johannes Kepler