Avatar billede meltinis Nybegynder
12. juni 2003 - 19:50 Der er 20 kommentarer og
1 løsning

kørsel af .jar fil med javaw

Jeg har lavet min jar fil.

Den kører fint når jeg lige har oprettet, men når jeg fjerner META-INF biblioteket og biblioteket med class filerne i vil den ikke køre.

klasserne ligger i en package.

Jeg kører:
[stien til javaw]\javaw.exe -classpath [sti til jar]  [navn på jar fil].[navn på startklasse]

Min META-INF fil ser således ud:
Class-Path: .\[pakkenavn]
Main-Class: [pakkenavn].[startklasse]

Jeg genererer jar filen md følgende cmd:

jar cvfm [navn].jar META-INF\MANIFEST.MF [pakkenavn]\*.class

MANIFEST og klassefilerne ligger på de respektive pladser!!!

Hvorfor vil den ikke det?
Avatar billede arne_v Ekspert
12. juni 2003 - 19:55 #1
Du mener:

[stien til javaw]\javaw.exe -classpath [fuld sti til jar fil]  [pakke].[navn på startklasse]

?
Avatar billede _carsten Nybegynder
12. juni 2003 - 19:56 #2
Prøv sådan:

NB: jeg har også byttet om her:  cvfm  til:  cvmf

jar cvmf META-INF\MANIFEST.MF [navn].jar [pakkenavn]\*.class
Avatar billede arne_v Ekspert
12. juni 2003 - 19:56 #3
Og når du har et main-class direktiv så burde:

[stien til javaw]\javaw.exe -jar [fuld sti til jar fil]

være nok.
Avatar billede arne_v Ekspert
12. juni 2003 - 19:58 #4
cvfm [navn].jar META-INF\MANIFEST.MF

og

cvmf META-INF\MANIFEST.MF [navn].jar

burde opføre sig ens (fil rækkefølgen skal bare matche switch rækkefølgen).
Avatar billede meltinis Nybegynder
12. juni 2003 - 21:06 #5
Jeg kan godt få det til at køre med javaw -jar..... men jeg vil gerne kunne definere hvilken startklasse den skal vælge.
Avatar billede arne_v Ekspert
12. juni 2003 - 21:09 #6
Det har du jo angivet i manifestet ??
Avatar billede arne_v Ekspert
12. juni 2003 - 21:09 #7
Men ellers burde min 19:55:14 kommentar forklare det.
Avatar billede _carsten Nybegynder
12. juni 2003 - 21:10 #8
???

Hvordan har du lavet dit manifest???
Avatar billede meltinis Nybegynder
12. juni 2003 - 21:12 #9
Jeg skriver gerne igen :)

Min META-INF fil ser således ud:
Class-Path: .\[pakkenavn]
Main-Class: [pakkenavn].[startklasse]

Eller er det andet du søger svar på?
Avatar billede _carsten Nybegynder
12. juni 2003 - 21:13 #10
Hvis du har lavet dit manifest i eksempelvis Notepad, så kald den
manifest.txt og brug det navn

Altså:  META-INF\MANIFEST.txt
Avatar billede _carsten Nybegynder
12. juni 2003 - 21:21 #11
Det er sådan set ligegyldigt hvor tingene er, bare stien er rigtig

Dette belyser det måske bedre.

jar cvmf H:\Skraldespand\META-INF\MANIFEST.txt G:\jarfiler\XXXX.jar C:\Kogekar\*.class
Avatar billede meltinis Nybegynder
12. juni 2003 - 21:22 #12
Det virker stadig ikke :( Det virker som om at det er classpath i:

[stien til javaw]\javaw.exe -classpath [sti til jar]  [navn på jar fil].[navn på startklasse]

den er gal med
Avatar billede arne_v Ekspert
12. juni 2003 - 21:23 #13
Du skal angive pakken *ikke* jar-file foran punktum !
Avatar billede arne_v Ekspert
12. juni 2003 - 21:24 #14
[stien til javaw]\javaw.exe -classpath [fuld sti til jar fil]  [pakke].[navn på startklasse]
Avatar billede arne_v Ekspert
12. juni 2003 - 21:24 #15
Eksempel:

c:\j2sdk1.4.1_01\bin\javaw -classpath c:\dir\mitbib.jar minpakke.MinKlasse
Avatar billede arne_v Ekspert
12. juni 2003 - 21:25 #16
svar
Avatar billede meltinis Nybegynder
12. juni 2003 - 21:25 #17
Det skal siges at den virker med både:
jar .... osv
javaw -jar osv
javaw classpath... (men kun når klasse biblioteket og META-INF bib. ligger der)

Som sagt tror at det er classpath den er gal med...
Avatar billede arne_v Ekspert
12. juni 2003 - 21:33 #18
Har du prøvet med pakkenavn foran klassen ?
Avatar billede _carsten Nybegynder
12. juni 2003 - 21:43 #19
ØØhhhhh, så var der lige ham fjolset der snakkede om at få stien rigtig
jævnfør min kommentar 12/06-2003 21:21:09

Hvis du laver din jar-fil fra cmd og står i roden af dit C-drev og har class filerne liggende i directory 'C:\Kogekar', så bliver det følgende

jar cvmf H:\Skraldespand\META-INF\MANIFEST.txt G:\jarfiler\XXXX.jar  Kogekar\*.class

Altså:  Kogekar\*.class    til sidst

IKKE:    C:\Kogekar\*.class

Det gør vist hele forskellen!
Avatar billede meltinis Nybegynder
12. juni 2003 - 21:43 #20
ja jeg kører pakkenavn.klasse i både jar og javaw
Avatar billede meltinis Nybegynder
12. juni 2003 - 21:55 #21
Arne v... du svarede allerede på løsningen på 1. svar :O Jeg havde bare ikke lavet den fulde sti... Jeg skrev
c:\etellerandet
i stedet for
c:\etellerandet\test.jar     

DUMT DUMT DUMT... tak for hjælpen pointene går din vej
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