Avatar billede brinkoman Nybegynder
23. januar 2003 - 14:05 Der er 13 kommentarer og
2 løsninger

Færdiggøre applikation!

Hej

Jeg har nu bøvlet i lang tid med en applikation i NetBeans 3.4. Nu vil jeg så gerne lave det til et RIGTIGT program som man kan køre på hvilken som helst computer og lægges på nettet osv...

Men hvordan gør jeg lige det? Mit program består af en masse løse class-filer, nogle beans i jar-filer og nogle andre jar-filer som programmet skal bruge i classpath for at køre...

Er der en eller anden smart funktion i NetBeans og hvis ikke, hvad skal der så til?
Avatar billede arne_v Ekspert
23. januar 2003 - 14:13 #1
Først: glem alt om at konvertere den til EXE fil.

Dernæst: jeg vil formode, at du vil distribuere
til Windows PC'ere.

Pak alt i jar-filer.

Lav et installations-kit som:
  - creater et directory
  - smider alle jar-filer i det directory
  - laver et shortcut til javaw med classpath til det der skal bruges
    og angivelse af main class

Distribuer det installations-kit og lad din download side
have et link til JRE download side hos SUN.
Avatar billede brinkoman Nybegynder
23. januar 2003 - 14:28 #2
ja, det var sådan set det jeg tænkte på at gøre.

Men først ville jeg lige høre om der var nogle smarte metoder i NetBeans, men det er også ligemeget.

Mit program består af mange klasser som arbejder sammen, men hvordan skal jeg strukturere den eller de jar-filer... Skal jeg putte det hele i én eller i flere jar-filer, og hvad skal der stå i manifest-filerne, hvis det har noget med det at gøre...

Hvordan laver man et installations-kit?
Avatar billede brinkoman Nybegynder
23. januar 2003 - 14:30 #3
I øvrigt skal det overhovedet ikke kun være windows-pc'ere, men også Linux og Mac ... Og nej, jeg havde skam heller ikke tænkt mig at konvertere til exe.
Jeg har rimelig erfaring med java og hvad det kan, men bare ingen erfaring med at distribuere!
Avatar billede arne_v Ekspert
23. januar 2003 - 14:41 #4
Du kan lave kits på 2 måder:
  - bare lav en ZIP og bed bruger om selv at udpakke
  - en selv-udpakkende fil (normalt en native EXE, men jeg mener
    også at have set en selv-udpakkende jar)

Det først kan du lave med en ZIP utility.

Det andet kræver en installation generator utility.

Jeg har ikke specifikke erfaringer med nogen.

Grunden til at jeg folkuserede på Windows er at jeg ved, hvordan
man laver et shortcut til Windows. Jeg har ingene anelse om, hvordan
man laver shortcuts på de 25+ forskellige varianter af Unix
der findes med forskellige X interfaces.
Avatar billede arne_v Ekspert
23. januar 2003 - 14:43 #5
Jeg ville bare pakke tingene ned i forskellige jar-filer alt efter,
hvordan de hørte logisk sammen.

Det er naturligvis nemmere hvis man kun har en jar-fil.

Jeg ville satse på at angive både classpath og main class
i den kommando-linie der starter applikationen.

Men det er også muligt at sætte både classpath og main class
i manifest.
Avatar billede arne_v Ekspert
23. januar 2003 - 14:45 #6
Det er min vurdering at 50+% af alle java applikationer
der distribueres bare kommer som en ZIP og med
en startup.bat og startup.sh i et bin directory.
Avatar billede olly Nybegynder
23. januar 2003 - 23:34 #7
Hvis du vil have en installer der kan lave jar så kik her:

http://www.izforge.com/izpack/

Den laver en jar som så bare skal dobbelklikkes på og så starter installationsprogrammet...
Avatar billede brinkoman Nybegynder
24. januar 2003 - 16:59 #8
ok... det lyder alt sammen meget spændende....

Men jeg er stadig ikke helt inde i det med classpath osv. Hvis vi siger jeg har et program som er pakket i program.jar.
Hvor skal jeg så så lægge jdom.jar, som program.jar bruger, og hvad skal jeg skrive hvor, hvis jeg skal skrive noget?
Avatar billede arne_v Ekspert
24. januar 2003 - 17:09 #9
Lad os tage dit eksempel.

Enten laver du en program.zip, som udpakker program.jar
og jdom.jar i program directory og indeholder en instruktion
til brugen om at lave et shortcut (til Windows - jeg ved ikke
hvad man gør på Unix) til:
  javaw -classpath program.jar;jdom.jar program.Main

Eller så bruger du en installer generator som laver
en exe-fil/jar-fil der kan eksekveres og:
  - udpakker de 2 jar filer til directory
  - laver shortcut
Avatar billede brinkoman Nybegynder
26. januar 2003 - 17:22 #10
Jeg har bare et problem.

Jeg eksekverer mit program sådan:

java -jar -cp pakke.jar Program.jar

men den finder ikke de klasser der er i pakke.jar, og det forstår jeg ikke. Hvad kan der være galt?
Avatar billede arne_v Ekspert
26. januar 2003 - 17:31 #11
Er der korrekt struktur i pakke.jar ?

Altså klassen MinKlasse i pakke overpakke.underpakke skal ligge
som:
  overpakke/underpakke/MinKlasse.class
Avatar billede arne_v Ekspert
26. januar 2003 - 17:34 #12
Det er vel iøvrigt lidt usædvaneliget med både -cp og -jar !

Hvorfor ikke:

java -cp Program.jar;pakke.jar din-mail-class-med-fuld-pakke-sti

?
Avatar billede brinkoman Nybegynder
26. januar 2003 - 17:38 #13
grunden til at jeg ikke brugte det du havde vist før, var at det ikke virkede, men det var fordi jeg var kommet til at skrive forkert.

Og så fordi det stod at det var sådan man skulle bruge java til at eksekvere jar-filer. Men nu virker dit forslag faktisk fint nok...
Avatar billede arne_v Ekspert
26. januar 2003 - 17:42 #14
Lykken er når det virker !

:-)
Avatar billede brinkoman Nybegynder
29. januar 2003 - 08:50 #15
Jeg har fordelt pointene således at arne_v får 50 point for at svare på det jeg egentlig havde brug for, men olly's link var ret fedt, så han får 10 point.

Jeg har lige et spørgsmål som i sikkert nok kan svare på. Det er oprettet, og kan findes på:
http://www.eksperten.dk/spm/310869
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