Wie macht man ein lauffähiges Programm aus dem Code?



  • Hi,
    ich habe mir ein kleines Programm geschrieben, in dem Eclipse Editor. Das Teil läuft auch soweit, nur ist meine Frage, wie ich daraus zB eine executable Jar File bekomm, damit es jeder der die JRE hat abspielen kann.

    Hab das auch in dem "Java ist auch eine Insel" Buch nachgeschlagen, aber da stand nur irgendwas von einer Manifest datei, damit kann ich so nix anfangen!

    Grüße



  • Kannste direkt im Eclipse machen. Die Manifest-Datei brauchst du, weil dort unter anderem die Startklasse und andere wichtige Einträge stehen.

    Geh in die Eclipse-Hilfe und such nach "Creating a new JAR file". Da steht es Stück für Stück beschrieben.



  • So hatte ich das auch schon mal gemacht, allerdings bekomm ich dann beim Doppelklick auf die .jar folgenden Fehler:

    Failed to load Main-Class manifest attribute from *Dateiname*.

    Wenn ich die Main Datei öffen steht das heir drin:

    Manifest-Version: 1.0

    Könnt ihr mir erklären was ich da einstellen muss, damit es läuft?



  • deine Manifestdatei müsste irgendwie so aussehen:

    Manifest-Version: 1.0
    Main-Class: PACKAGE.CLASS
    

    du kannst das hinzufügen, es muss nicht alles groß geschrieben sein.

    wenn du mit Eclipse so eine Manifestdatei machen willst, dann klicke bei "Jar Export" nicht auf finish, sondern 2mal auf "next" und dann unten rechts auf den button "browse" neben "main class". Da kannst du die Klasse auswählen.



  • Ah, klasse, jetzt hats funktioniert!

    Noch was anderes: Wenn ich diese Jar mit WinRAR öffne, kann ich ja die .class Dateien einsehen. Wie kann man das unterbinden? Soll ja nicht jeder den Code sehen können.



  • In der class Datei steht ja kein Sourcecode, sondern schon kompilierter Bytecode.

    Eine Exe kann auch jeder disassemblieren, ist nur die Frage wie viel man dann damit anfangen kann



  • Hmm, besonders leserlich ist es ja wirklich nicht.
    Du meinst also, dass das ganz normal ist?



  • Sicher ist das normal.
    Es ist auch möglich mit bestimmten Programmen den Java-Quelltext größtenteils wieder herzustellen, abgesehenvon den namen der variablen funktioniert das sehr gut sogar.



  • um wieder an den Quellcode von den classes zu kommen muss man einfach einen JavaDecompilierer benutzen, wie z.B. Mocha. Dann hast den Quellcode wieder schön lesbar.

    [edit] argh... da war einer schneller als ich -.-



  • Ok, dann danke mal für eure Infos.
    Nur noch eine Frag zum Schluss: Wie machen das dann größere Firmen, die verhindern wollen, dass man ihr Programme klaut?



  • Ich vermute: Mit Anwälten 😉


Anmelden zum Antworten