Avatar billede rasmuslarsen2 Nybegynder
01. juli 2005 - 15:59 Der er 13 kommentarer og
1 løsning

Java program som .exe fil

Hej...

Hvordan (gerne et kode eksempel hvis i har det) laver man sit program i en .class fil (jeg har kun en .class fil, da jeg først lige er begyndt på java, og derfor ikke har lavet større programmer) om til en .exe fil?

Kan man, og hvordan i så fald, give den .exe fil et ikon?
Avatar billede arne_v Ekspert
01. juli 2005 - 16:02 #1
normalt i Java putter man sine .class filer i en .jar fil og med et Main-Class
direktiv i manifestet kan man eksekvere den

der findes 3. parts væktøjer til enten at wrappe java'en i en exe eller
at konvertere til exe
Avatar billede arne_v Ekspert
01. juli 2005 - 16:03 #2
medmimdre du har specielle behov så vil jeg anbefale jar vejen
Avatar billede rtfm_now Nybegynder
01. juli 2005 - 16:04 #3
http://www.ej-technologies.com/products/exe4j/overview.html

Er mit ynglings tool til at lave .exe filer over .jar filer
Avatar billede arne_v Ekspert
01. juli 2005 - 16:04 #4
Avatar billede rasmuslarsen2 Nybegynder
01. juli 2005 - 16:38 #5
Jeg har prøvet på at få lavet det der Manifest noget med Main-class men jeg kan ikke få det til at virke.

Jeg har en fil kaldet HejVerden.class, klassen i den hedder også HejVerden. Så vælger jeg at min .jar fil skal hedde HejVerden.jar. I min Manifest.txt fil skriver jeg:

Main-Class: HejVerden.HejVerden

og så bruger jeg denne kommando i dos-promten (jeg er i den rigtige mappe, og alle filer ligge den i den mappe):

java cmf Manifest.txt HejVerden.jar

så får jeg fejlen, når jeg prøver at køre .jar filen, som fint bliver oprettet, hvad enten jeg bruger java -jar kommandoen eller dobbeltklikker på den i Windows:

"Failed to load Main-Class manifest attribute from
C:\Javafiler\HejVerden.jar"
Avatar billede arne_v Ekspert
01. juli 2005 - 16:46 #6
Main-Class: HejVerden

og

java cmf Manifest.txt HejVerden.jar HejVerden.class
Avatar billede rasmuslarsen2 Nybegynder
01. juli 2005 - 16:47 #7
Ups. Jeg glemte i java cmf Manifest.txt HejVerden.jar
at fortælle hvilke .class filer der skulle puttes i HejVerden.jar

Sådan her skal det se ud:

java cmf Manifest.txt HejVerden.jar HejVerden.class

Nu får jeg så fejlen:

"Could not find the main class. Program will exit"
Avatar billede arne_v Ekspert
01. juli 2005 - 16:48 #8
Main-Class: HejVerden
Avatar billede arne_v Ekspert
01. juli 2005 - 16:49 #9
(og husk linie skift til sidst !)
Avatar billede rasmuslarsen2 Nybegynder
01. juli 2005 - 16:52 #10
Fedt :D Det virker, jeg skal altså ikke have .class efter navnet i Manifest.txt filen, er det fordi det skal være det samme som klassenavnet i HejVerden.java, som jo bare er HejVerden (men alligevel skal klassenavnet i .java filen og navnet på .class filen jo blive det samme)... Det virker med

java -jar HejVerden.jar

men når jeg dobbeltklikker på den sker der ikke noget, men er det bare fordi, den på nul komma fem åbner og lukker dos-promten? Kan man indsætte et stykke kode så dos-promten holder sig åben efter at være blevet åbnet fra den .jar fil (ved dobbeltklik)?
Avatar billede arne_v Ekspert
01. juli 2005 - 16:54 #11
for at få fornøjelse af dobbelt klik skal du bok som minimum lade programmet
vente på input fra dig eg helst lave det om til en GUI applikation
Avatar billede arne_v Ekspert
01. juli 2005 - 16:55 #12
navnet i manifestet er klasse navnet

og engang når du begynder at lege med packages så vil filen

superapp\Main.java

indeholder klassen

superapp.Main

og det er det sidste som skal angives i manifestet
Avatar billede rasmuslarsen2 Nybegynder
01. juli 2005 - 16:57 #13
Ok, men nu ved jeg så hvordan man gør, til jeg når til det punkt :D


Tak for hjælpen, endnu en gang :)

Lægger du lige et svar?
Avatar billede arne_v Ekspert
01. juli 2005 - 16:58 #14
ok
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester