xandie Geschrieben 30. Dezember 2004 Geschrieben 30. Dezember 2004 Hallo eine kurze Frage, wie kann ich mein in Java erstelltes Programm in einer .exe oder so was verpacken ? VB liefert ja schon was mit, nur bei JBuilder fand ich sowas noch nicht! Habt Ihr einen Tipp was es da gibt und wie es funktioniert ? mfg Xandie Zitieren
ByteRix Geschrieben 31. Dezember 2004 Geschrieben 31. Dezember 2004 ne exe kannste mit dem Proggy machen: Excelsior JET aber würd ich nicht machen, pack deine klassen in n jar und starte des dann mit nem kleinen batch-skript (übliche Methode) mfg byte Zitieren
xandie Geschrieben 31. Dezember 2004 Autor Geschrieben 31. Dezember 2004 Und das ganze bitte noch mal für Java Anfänger! Also was muss ich tun um das programm meinen Kumpels zu geben ? mfg Xandie Zitieren
Peeter Geschrieben 31. Dezember 2004 Geschrieben 31. Dezember 2004 Und das ganze bitte noch mal für Java Anfänger! Also was muss ich tun um das programm meinen Kumpels zu geben ? Lade dir die Java-JRE (ca. 15MB) von Sun runter. Packe deine Klassen in einem Jar-File (Befehl "jar" mit entsprechendem "MANIFEST") und gib das deinen Kumpels. Alles andere ist nicht sinnvoll... Die Java-Klassen in exe-Dateien umzuwandeln ist zwar (meiner Meinung nach) was zum ausprobieren, hat aber keinerlei Vorteile und einen gravierenden Nachteil: NICHT Platformunabhängig... Mit der BoardSuche findest du auch wie man ein selbststartendes Jar-Archiv erstellen kann (Stichwort "MANIFEST"). Grüße Peet PS: Vergiss das wirklich mit der Exe. Java ist in keinster Weise dafür ausgelegt. Zitieren
SilentHunterGER Geschrieben 31. Dezember 2004 Geschrieben 31. Dezember 2004 Imo solltest du dich auch mal über ANT informieren, das macht die ganze compile und jar aktion um einiges einfacher (wenn man sich einmal reingelesen hat ) ) Vorallem hast du mehr Einfluss auf das was compiliert und in das jar gepackt wird als bei der arbeit mir J(Bull****)Builder (sry ich mag das ding nicht...) ein kleines build.xml (config Datei für ANT) häng ich unten an, wenn man sich in ANT eingelesen hat kann man es mit ein paar kleinen änderungen für (fast) jedes Projekt einsetzen da es die imo wichtigsten punkte (compilieren, jar bauen und batch erstellen) übernimmt. Nebenbei kannst du das projekt auch mit ANT starten ) <?xml version="1.0"?> <!-- build.xml - a simple ant buildfile --> <!-- Author: Silent --> <!-- Company: --> <project name="[DE-Framework]" default="run" basedir="."> <property name="company.name" value="Company"/> <property name="project.name" value="ProjectName"/> <property name="start.class" value="Start"/> <property name="de.company" value="de/company"/> <property name="jar.name" value="${project.name}.jar"/> <property name="javac.debug" value="on"/> <property file="${basedir}/build.properties"/> <property name="src.dir" value="${basedir}/JavaSrc"/> <property name="lib.dir" value="${basedir}/lib"/> <property name="bin.dir" value="${basedir}/bin"/> <property name="bin.tmp" value="${bin.dir}/tmp"/> <property name="bin.log" value="${bin.dir}/log"/> <property name="bin.lib" value="${bin.dir}/lib"/> <property name="doc.dir" value="${basedir}/JavaDoc"/> <property name="version.properties" value="version.properties"/> <property name="version.properties.path" value="${src.dir}"/> <property name="build.dir" value="${basedir}/build"/> <property name="build.classes" value="${build.dir}/classes"/> <path id="class.path"> <fileset dir="${bin.dir}"> <include name="**/*.jar"/> </fileset> </path> <target name="clean-build"> <delete dir="${build.dir}"/> </target> <target name="clean-bin"> <delete dir="${bin.dir}"/> </target> <target name="prepare-build" depends="clean-build" > <mkdir dir="${build.dir}"/> <mkdir dir="${build.classes}"/> </target> <target name="prepare-bin" depends="clean-bin" > <mkdir dir="${bin.dir}"/> <mkdir dir="${bin.log}"/> <mkdir dir="${bin.lib}"/> </target> <target name="Copy-Library.dir" depends="prepare-bin,prepare-build" > <copy verbose="on" todir="${bin.lib}"> <fileset dir="${lib.dir}"> <include name="**/*.jar"/> </fileset> </copy> <copy verbose="on" todir="${build.classes}/${de.company}> <fileset dir="${src.dir}/${de.ropardo}"> <include name="**/*.properties"/> </fileset> </copy> </target> <target name="compile" depends="Copy-Library.dir" > <javac srcdir="${src.dir}" destdir="${build.classes}"> <classpath refid="class.path"/> </javac> </target> <target name="Build.jar" depends="compile,run-batch"> <antcall target="Count Build.number"/> <jar jarfile="${jar.name}" basedir="${build.classes}" compress="false" destfile="${bin.dir}/${jar.name}"/> </target> <target name="Count Version.major"> <propertyfile file="${version.properties.path}/${version.properties}" comment="Version properties"> <entry key="version.major" type="int" operation="+" pattern="00" default="00"/> <entry key="version.minor" type="int" value="00" pattern="00" default="00" /> <entry key="version.release" type="int" value="00" pattern="00" default="00"/> <entry key="build.number" type="int" operation="+" pattern="00000" default="00000"/> <entry key="build.date" type="date" value="now" pattern="dd.MM.yyyy"/> <entry key="build.time" type="date" value="now" pattern="hh:mm"/> </propertyfile> </target> <target name="Count Version.minor"> <propertyfile file="${version.properties.path}/${version.properties}" comment="Version properties"> <entry key="version.major" type="int" pattern="00" default="00"/> <entry key="version.minor" type="int" operation="+" pattern="00" default="00" /> <entry key="version.release" type="int" value="00" pattern="00" default="00"/> <entry key="build.number" type="int" operation="+" pattern="00000" default="00000"/> <entry key="build.date" type="date" value="now" pattern="dd.MM.yyyy"/> <entry key="build.time" type="date" value="now" pattern="hh:mm"/> </propertyfile> </target> <target name="Count Version.release"> <propertyfile file="${version.properties.path}/${version.properties}" comment="Version properties"> <entry key="version.major" type="int" pattern="00" default="00"/> <entry key="version.minor" type="int" pattern="00" default="00" /> <entry key="version.release" type="int" operation="+" pattern="00" default="00"/> <entry key="build.number" type="int" operation="+" pattern="00000" default="00000"/> <entry key="build.date" type="date" value="now" pattern="dd.MM.yyyy"/> <entry key="build.time" type="date" value="now" pattern="hh:mm"/> </propertyfile> </target> <target name="Count Build.number"> <propertyfile file="${version.properties.path}/${version.properties}" comment="Version properties"> <entry key="version.major" type="int" pattern="00" default="00"/> <entry key="version.minor" type="int" pattern="00" default="00" /> <entry key="version.release" type="int" pattern="00" default="00"/> <entry key="build.number" type="int" operation="+" pattern="00000" default="00000"/> <entry key="build.date" type="date" value="now" pattern="dd.MM.yyyy"/> <entry key="build.time" type="date" value="now" pattern="hh:mm"/> </propertyfile> </target> <target name="Release.jar"> <antcall target="Count Version.release"/> <antcall target="Build.jar"/> </target> <target name="Minor.jar"> <antcall target="Count Version.minor"/> <antcall target="Build.jar"/> </target> <target name="run-batch" > <echo file="${bin.dir}/${project.name}.cmd" message="java -cp ${jar.name}; ${bin.lib}/*.jar de.company.project.${start.class}"/> </target> <target name="run" depends="Build.jar" > <java classname="de.company.project.${start.class}" fork="true"> <classpath refid="class.path"/> </java> </target> <target name="run-logfile" depends="Build.jar" > <java classname="de.company.project.${start.class}" fork="true" args="-logfile" > <classpath refid="class.path"/> </java> </target> </project> ANT-Home edit: wenn du das Jar hast und deinen kumpels eine setup datei (mit oder ohne java) geben möchtest solltest du dich auch mal über InstallAnywhere Informieren: Zero G wenn ich richtig informiert bin gibt es eine imo leistungsfähige kostenlose lösung, und eine kostenpflichtige die noch einiges mehr drauf hat (was genau weis ich nicht, hab es in 3.5 Jahre Java Programmierung und Programmauslieferungen nicht gebraucht ) ) Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.