Avatar billede bumle90 Nybegynder
17. november 2002 - 21:09 Der er 11 kommentarer og
1 løsning

lave en jar fil fra en klasse

Hej. Er der nogle der kan hjælpe mig med at lave en lille applikation der kan oprette en jar-fil, putte nogle XML-filer ned i denne og lukke jar-filen så man kan bruge jar-filen indeholdende de xml-filer der bliver puttet ned i til hvad man nu vil bruge den til?
Avatar billede arne_v Ekspert
17. november 2002 - 21:11 #1
Hvorfor ikke bare noget i retning af:

jar cvf minjar.jar minpakke\minklasse.class config\minxml.xml
Avatar billede arne_v Ekspert
17. november 2002 - 21:12 #2
De fleste IDE'er kan iøvrigt lave det for dig.
Avatar billede bumle90 Nybegynder
17. november 2002 - 21:23 #3
nej, det skal kunne ske af sig selv. Jeg har en server der med et bestemt tidsinterval laver et antal xml filer. Jeg vil pakke disse xml-filer i en jar fil, da de skal kunne sendes til klientens maskine. Så systemet skal altså selv kunne klare at lægge det ned i jar filen
Avatar billede arne_v Ekspert
17. november 2002 - 21:27 #4
Det nemmeste ville være hvis din server kunne kalde
et eksternt script til at gøre det.

Men hvis ikek det er muligt, så er der en java.util.jar
pakke, som formentligt er lavet lige præcis til dette
her.
Avatar billede bumle90 Nybegynder
17. november 2002 - 21:27 #5
Er der nogle der kan hjælpe mig med det?
Avatar billede bumle90 Nybegynder
17. november 2002 - 21:28 #6
ja, men hvordan virker den java.util.jar?
Har kigget lidt på den, men forstår den ikke rigtigt
Avatar billede arne_v Ekspert
17. november 2002 - 21:32 #7
Der er et eksempel med java.util.zip i bunden af
http://developer.java.sun.com/developer/technicalArticles/Programming/compression/
og hvis du erstatter ZIp med JAR så bør det virke.
Avatar billede arne_v Ekspert
17. november 2002 - 21:53 #8
Følgende putter Test.class i Test.jar:

import java.io.*;
import java.util.jar.*;

public class Test {
  static final int BUFFER = 2048;
  public static void main (String argv[]) {
      try {
        BufferedInputStream origin = null;
        FileOutputStream dest = new FileOutputStream("test.jar");
        JarOutputStream out = new JarOutputStream(new BufferedOutputStream(dest));
        byte data[] = new byte[BUFFER];
        FileInputStream fi = new FileInputStream("Test.class");
        origin = new BufferedInputStream(fi, BUFFER);
        JarEntry entry = new JarEntry("Test.class");
        out.putNextEntry(entry);
        int count;
        while((count = origin.read(data, 0, BUFFER)) != -1) {
            out.write(data, 0, count);
        }
        origin.close();
        out.close();
      } catch(Exception e) {
        e.printStackTrace();
      }
  }
}
Avatar billede bumle90 Nybegynder
17. november 2002 - 21:59 #9
Tusind tak skal du have :9
Det var lige præcis hvad jeg manglede. Du får alle pointene hehe :D
Avatar billede arne_v Ekspert
17. november 2002 - 22:07 #10
Det er bare en forsimplet version af ZIP-eksemplet, som
jeg refererede til ovenfor.

Men du kan jo bygge videre på det.
Avatar billede bumle90 Nybegynder
17. november 2002 - 22:35 #11
har du lige tid til at hjælpe 2 minutter igen?
Avatar billede arne_v Ekspert
18. november 2002 - 04:04 #12
Ja.
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