Avatar billede majbom Novice
07. februar 2006 - 11:20 Der er 21 kommentarer og
2 løsninger

export projekt til .jar i eclipse

hejsa eksperter

jeg er ved at være træt af java:

jeg har lavet et program i eclipse og det skal kompiles til en jar fil så jeg bare kan køre det på en hvilken som helst comp.
jeg kan godt eksportere den som jar fil, og den virker på min comp (hvor den er udviklet) men ikke på andre...
jar filen fylder kun 36kb hvilket jeg ikke synes er ret meget. på andre maskiner siger den at den ikke kan finde main-class

en ting jeg ikke kan forstå når jeg er inde i "export-to-jar"-guiden kan jeg kun se ".classpath" og ".project", skal jeg ikke have mine .java filer med?

håber virkelig der er nogle der kan hjælpe, da jeg er ved at være godt træt af det her... på forhånd mange tak
Avatar billede mikkelbm Nybegynder
07. februar 2006 - 11:25 #1
Jar-filen skal ikke bruge dine .java filer til noget, men kun dine .class filer.

Hvordan kører du filen på andre maskiner?
Hvad indeholder jar-filen (du kan åbne den med winrar)
Har du nogle eksterne komponenter i din classpath? Hvis ja, skal disse indgå i dit manifest og ligge sammen med din jarfil.
Avatar billede majbom Novice
07. februar 2006 - 11:39 #2
umiddelbart har jeg de samme filer som jeg har i selve projektet...

men jeg importer nogle javax.comm includes, da jeg skal bruge comporte, skal jeg ikke fortælle den det et sted?
Avatar billede phineas_phreak Nybegynder
07. februar 2006 - 12:04 #3
du kan evt. checke om mainfestet er genereret rigtigt ved at åbne din jar fil med winrar / winzip gå ind i mappen MET-INF og checke om filen MANIFEST.MF indeholder mainclassen. Skal se ud noget i den her stil:

Manifest-Version: 1.0
Created-By: 1.5.0_04 (Sun Microsystems Inc.)
Main-Class: Mainklassenavn
Avatar billede majbom Novice
07. februar 2006 - 12:12 #4
Manifest-Version: 1.0
Main-Class: window

den er go nok
Avatar billede mikkelbm Nybegynder
07. februar 2006 - 12:57 #5
Nu ved jeg ikke lige hvilke filer der hører til javax.comm, men du må ha' downloadet nogle jar-filer til det?

Hvis ja, så skal dit manifest se således ud:

Manifest-Version: 1.0
Main-Class: window
Class-Path: comm1.jar comm2.jar

Og HUSK et linjeskift efter sidste linje :) Ellers virker det ikke.

Og de eksterne jar filer skal ligge i samme mappe som din egen jar-fil.
Avatar billede majbom Novice
07. februar 2006 - 13:16 #6
hvordan redigerer jeg i den fil?
Avatar billede majbom Novice
07. februar 2006 - 13:28 #7
jeg har kopieret comm.jar ind i samme mappe nu, men den står ikke i manifesten...
og det er stadig samme problem... den kan ikke finde main-class
Avatar billede mikkelbm Nybegynder
07. februar 2006 - 13:32 #8
Du skal skrive dit eget manifest og inkludere det, når du laver jar-filen i Eclipse.

Eller (den grimme måde)
Åbn manifestet i winrar og tilføj class-path linjen (husk linjeskift).

At den ikke kan finde main-class er fordi din main-class eller noget andet i din applikation peger på de comm-jars via imports. Derfor SKAL de med i manifest-filen for at det virker.
Avatar billede majbom Novice
07. februar 2006 - 13:35 #9
jeg kan vel bare lave en fil der hedder manifest.mf og inkludere så?
Avatar billede majbom Novice
07. februar 2006 - 13:41 #10
jeg kan ikke selv lave en mappe der hedder META-INF og så en fil i den der hedder MANIFEST.MF, det virker ikke. og jeg kan ikke redigere i den MANIFEST.MF den laver ved eksporteringen
Avatar billede mikkelbm Nybegynder
07. februar 2006 - 13:50 #11
Hvis du bruger winrar, kan du trække manifestfilen ud ændrer i den og trække den ind igen.

Men den pæne løsning er som sagt at lave en manifestfil og inkludere den via jar-guiden i eclipse. Jeg har ikke lige eclipse ved mig, men jeg ved at man kan. Jeg gør det selv jævnligt.
Avatar billede majbom Novice
07. februar 2006 - 13:50 #12
arh nu fandt jeg ud af det med MF-filen, men det hjalp ikke...
er det kun den jar fil der skal på listen, det er den eneste jeg har hentet og lagt ind, de andre jeg har brugt kommer med java som standard jo...
Avatar billede mikkelbm Nybegynder
07. februar 2006 - 14:02 #13
Ja, det er den eneste. Og du har husket det linjeskift efter Class-Path: linjen?

Og din main-class ligger ikke inde i en package, vel? Altså "dinpackage.MainClass" Hvis det er tilfældet så skal hele stien ind til din mainklasse skrives.
Avatar billede arne_v Ekspert
07. februar 2006 - 14:48 #14
korrekt manifest er svaret paa main class not found problemet

hvis javax.comm bruger dll filer, saa skal der mere til inden det virker
Avatar billede majbom Novice
07. februar 2006 - 15:00 #15
javax.comm bruger en dll og en .properties fil osse
Avatar billede majbom Novice
08. februar 2006 - 08:19 #16
hvordan gøres det så?
Avatar billede arne_v Ekspert
08. februar 2006 - 14:47 #17
installer maaske ??
Avatar billede majbom Novice
08. februar 2006 - 15:52 #18
helt ærligt jeg er, som i nok har regnet ud, ikke ret meget inde i det her, og jeg synes virkelig det er en jungle...
jeg prøver at få hjælp til at lave en .jar-fil, eller på anden måde kompile mit prog til en fil der kan køres/installeres på en anden maskine, og så får jeg et svar der indeholder: "installer maaske ??", jeg synes ikke dette er særlig brugbart, er det noget du kan uddybe arne_v? jeg synes nu ellers at du plejer at være meget hjælpsom...?
Avatar billede arne_v Ekspert
08. februar 2006 - 16:32 #19
Mit gæt er at Java COMM API skal installeres paa maskinen hvis det skal virke.

Men jeg har aldrig brugt det, så måske tager jeg fejl. Det må folk som har brugt
java COMM API kommentere på.

Man kan under alle omstændigheder ikke gemme en DLL i en jar fil.

Hvis min formodning er rigtig, så vil jeg mene at den rigtige løsning er en installer.

D.v.s. at du får genereret et installation sprogram der:
  - installerer Java COMM API
  - installerer din jar fil
som brugerne kan installere.

Men jeg er kun lidt med på sidelinien i dette spørgsmål.
Avatar billede mikkelbm Nybegynder
08. februar 2006 - 16:46 #20
Og jeg må desværre melde pas mht. dll filer.
Avatar billede majbom Novice
08. februar 2006 - 16:58 #21
okay, det vil sige at det begynder at blive lettere kompliceret her...
kunne være jeg skulle finde på en helt anden løsning...

kan i ikke smide et svar begge 2, så kan i dele den 100-mand
Avatar billede mikkelbm Nybegynder
08. februar 2006 - 17:44 #22
ok
Avatar billede arne_v Ekspert
08. februar 2006 - 21:34 #23
Java er platforms uafhaengigt, men ikke hvis man bruger ting som COMM API

:-(
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