Announcement

Collapse
No announcement yet.

Aus Jar eine Exe machen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Aus Jar eine Exe machen

    Hi
    Hab ein Java Programm geschrieben in NetBeans und dann eine Jar erstellt die ich auch über die Konsole problemlos aufrufen kann.

    Jetzt gibt es ja Software die mir daraus eine exe erstellt. zb Jar2exe

    Doch bekomm ich bei besagter software beim start der exe immer den Fehler, dass Java Runtime nicht installiert is... obwohls das ist^^

    Hab Win7 64bit System kann das damit zusammenhängen ?

    Danke für Tipps!

  • #2
    Das ist sinnlos, da das JAR bei korrektem installiertem Java mittels Doppelklick gestartet wird.

    Dieses war hier schon mehrfach Thema
    Christian

    Comment


    • #3
      manifest

      Vorausgesetzt, es ist die Datei "META-INF/MANIFEST.MF" mit ins jar gepackt und es ist darin der Eintrag "Main-Class:" so gepflegt, dass er auf die Klasse mit der main-Methode zeigt.
      http://www.winfonet.eu

      Comment


      • #4

        Vorausgesetzt, es ist die Datei "META-INF/MANIFEST.MF" mit ins jar gepackt und es ist darin der Eintrag "Main-Class:" so gepflegt, dass er auf die Klasse mit der main-Methode zeigt.
        Ohne dieses Feature würde ein JarToExe auch nicht starten können.....
        Christian

        Comment


        • #5
          Jaja schon klar das man das auch so ausführen kann usw... nur haben nicht alle die einen Windows PC haben auch java installiert... auserdem ist bei mir die JAR nicht mit einem Programm verknüpft (also von begin) was ich einem normalen user auch nicht zumuten will... jetzt hab ichs mit einer bat gestartet... nur bleibt die Konsole... auch wenn ich sie minimiert bekomme trotzdem wärend der laufzeit offen... was nicht cool is denn wenn man die Konsole schließt geht auch die Anwendung hops

          Comment


          • #6
            Jaja schon klar das man das auch so ausführen kann usw... nur haben nicht alle die einen Windows PC haben auch java installiert...
            Dann können sie das Programm auch nicht mit JarToExe ausführen. Du hast eine falsche Vorstellung von dem was das Tool kann. Es wandelt nicht das Javaprogram in Maschinencode um. Vielmehr wird wie bei einer ZIP-EXE der Javacode mit einem ausführbaren Header versehen und entpackt und dann gestartet. die VM wird immer benötigt

            auserdem ist bei mir die JAR nicht mit einem Programm verknüpft (also von begin) was ich einem normalen user auch nicht zumuten will...
            Dann ist bei dir java nicht richtig installiert. Normalerweise ist da "dem User" nichts zuzumuten


            jetzt hab ichs mit einer bat gestartet... nur bleibt die Konsole... auch wenn ich sie minimiert bekomme trotzdem wärend der laufzeit offen... was nicht cool is denn wenn man die Konsole schließt geht auch die Anwendung hops
            Warum nicht mit einer Verknüpfung
            Zuletzt editiert von Christian Marquardt; 02.09.2010, 08:08.
            Christian

            Comment


            • #7
              Dann können sie das Programm auch nicht mit JarToExe ausführen. Du hast eine falsche Vorstellung von dem was das Tool kann. Es wandelt nicht das Javaprogram in Maschinencode um. Vielmehr wird wie bei einer ZIP-EXE der Javacode mit einem ausführbaren Header versehen und entpackt und dann gestartet. die VM wird immer benötigt
              schade, hab ich echt gesacht -.-

              Warum nicht mit einer Verknüpfung
              kannst du mir da ein bsp geben wie ich das mach ?

              gibt es die möglichkeit meinen scourcecode zu verstecken ? in der Jar ist er doch für jeden zugänglich oder ?

              Danke

              Comment


              • #8
                Originally posted by cracker0dks View Post
                gibt es die möglichkeit meinen scourcecode zu verstecken ? in der Jar ist er doch für jeden zugänglich oder ?
                Stichwort ist hier Obfuscation. Dann steht statt MeineWichtigeKlasse.Verschlüssele nur noch AAAAA.aaaa im Bytecode.

                Comment


                • #9
                  Stichwort ist hier Obfuscation
                  Habe das noch nicht gesehen, aber zweifel so etwas an dem Nutzen:
                  - die .class kann wieder decompiliert werden.
                  - public Member können doch nicht verändert werden? Sie könnten von außerhalb genutzt werden.
                  - Das müsste auf public Klassen ebenfalls zutreffen
                  - Aufrufe der Standard-Java-Klassen können ebenfalls nicht verändert werden
                  - durch Codeformatierungen werden doch diesbezügliche Änderungen (alles in eine Zeile) rückgängig gemacht
                  - auch völlig unsprechende Variablennamen können durch Refactoring in etwas sinnvolles umbenannt werden.
                  - das Debugging ist weiterhin möglich. Beispielsweise findet man die Stelle an der das Passwort der Standard-Java-Crypt-Klasse übergeben wird. Spätestens dort muss es vorliegen. Ggf. debuggt man den Standard-Java-Code mit
                  ?????


                  kannst du mir da ein bsp geben wie ich das mach ?
                  Rechte Maustaste Verknüpfung erstellen-> das was in der README.TXT im Dist Verzeichnis steht dort verarbeiten
                  Christian

                  Comment


                  • #10
                    - die .class kann wieder decompiliert werden.
                    - public Member können doch nicht verändert werden? Sie könnten von außerhalb genutzt werden.
                    - Das müsste auf public Klassen ebenfalls zutreffen
                    Public APIs müssen von der Obfuscation ausgenommen werden, sonst kann man sie nicht mehr aufrufen. Ansonsten erzeugen die Obfuscator teilweise ByteCode der sich nicht mehr decompilieren läßt, weil es keine Java SourceCode-Entsprechungen mehr gibt. Und falls doch, mit dem Chaos was da rauskommt, brauchst Du mit Refactoring nicht anfangen. Du kannst es ja mal testen

                    Hier stehen einige Techniken, die Obfuscator verwenden:

                    http://www.sable.mcgill.ca/publicati...-tr-2006-5.pdf

                    Comment


                    • #11
                      Danke für die Info
                      Christian

                      Comment


                      • #12
                        Originally posted by cracker0dks View Post
                        Jaja schon klar das man das auch so ausführen kann usw... nur haben nicht alle die einen Windows PC haben auch java installiert... auserdem ist bei mir die JAR nicht mit einem Programm verknüpft (also von begin) was ich einem normalen user auch nicht zumuten will... jetzt hab ichs mit einer bat gestartet... nur bleibt die Konsole... auch wenn ich sie minimiert bekomme trotzdem wärend der laufzeit offen... was nicht cool is denn wenn man die Konsole schließt geht auch die Anwendung hops
                        Dann wirst Du wohl aus Deinem ByteCode Maschinencode machen müssen.
                        -> JavaNativeCompiler (JNC)
                        AlexDgG

                        Es gibt keine dummen Fragen. Nur dumme Antworten!

                        Comment


                        • #13
                          jsmooth

                          Vielleicht hilft ja das hier weiter?

                          http://jsmooth.sourceforge.net/

                          Comment

                          Working...
                          X