Java-Programm als .tar-Archiv per Doppelklick starten
t3mp 21.08.2003 - 01:14 642 12
t3mp
I Love Gasoline
|
wie funktioniert das? als editor benutze ich sun1studio4 (forte). alles, was der benutzer dann noch bräuchte um es wie ein normales *.exe-programm starten zu können ist das java2 runtime environment.
|
atrox
in fairy dust... I trust!
|
Java-Programm als .tar-Archiv per Doppelklick starten das ding muß ein . jar file sein, und eine Application beinhalten (zb MeineMainClass): public static void main(String args[]) in einer der klassen. ausserdem brauchst du ein "Manifest.mf" file, mit folgendem inhalt: Manifest-Version: 1.0
Main-Class: MeineMainClass
problem: defaultmäßg ist der handler für jar-files das jre das mit windows mitkommt, und das version 1.1.x
Bearbeitet von atrox am 21.08.2003, 01:26
|
t3mp
I Love Gasoline
|
k thx, ich werd's probieren.
|
crashman
OC Addicted
|
Falls sune one ant unterstützt und du das jar net jedesmal über die cmd erstellen möchtest könntest du dir ein ant file in der art des unteren schreiben <?xml version="1.0"?>
<project name="test" default="compile" basedir=".">
<description >Ein Test</description>
<property name="dir.src" value="."/>
<property name="dir.build" value="ant/build"/>
<property name="dir.dist" value="ant/dist"/>
<property name="ProjectMainClass" value="versuche.versuch1"/>
<target name="prepare"
description="Verzeichnisse anlegen.">
<mkdir dir="${dir.build}"/>
<mkdir dir="${dir.dist}"/>
</target>
<target name="clean"
description="Alle generierten .class files loeschen.">
<delete dir="${dir.build}"/>
<delete dir="${dir.dist}"/>
<delete dir="ant"/>
</target>
<target name="compile"
depends="prepare"
description="Kompilieren aller Source files.">
<javac srcdir="${dir.src}" destdir="${dir.build}"/>
</target>
<target name="jar"
depends="compile"
description="Jar File erstellen.">
<jar jarfile="${dir.dist}/test.jar"
update="false"
index="true">
<fileset dir="${dir.build}" includes="**/*.class"/>
<manifest>
<attribute name="Main-Class" value="${ProjectMainClass}"/>
</manifest>
</jar>
</target>
<target name="run"
depends="jar"
description="Jar file Starten">
<java jar="${dir.dist}/test.jar"
fork="true"
failonerror="true"
maxmemory="32m">
<arg value="-h"/>
<classpath>
<pathelement location="${dir.dist}/test.jar"/>
<pathelement path="${java.class.path}"/>
</classpath>
</java>
</target>
<target name="runAndDelete"
depends="run"
description="Generiert Jar,startet programm und loescht anschliessend alles wieder">
<delete dir="ant"/>
</target>
</project>
Aja für fehler hafte ich net
|
t3mp
I Love Gasoline
|
das ganze geht mit sun1 eigentlich recht gut... man erstellt ein Jar-"Recipe", wählt die klassen aus die es enthalten soll, das manifest kann man sich generieren lassen und nur die mainclass-zeile muss man selbst dazuschreiben. immer wenn man dann das .jar aktualisieren will, mountet man es über das recipe einfach neu. trotzdem thx@crashman @atrox: das ist natürlich ein problem, aber das SUN-JRE1.4.2 ist relativ schnell runtergeladen. wäre sowieso jedem zu empfehlen... na egal. hätte aber zwei neue fragen: 1. kann man im manifest auch ein eigenes Programmicon festlegen? 2. und wie kann ich die standard swing-messageicons aus den joptionpanes (warning, error usw.) für meine eigenen dialogs benutzen?
Bearbeitet von t3mp am 26.08.2003, 14:35
|
psykoman
Addicted
|
es gibt soweit ich weis java2exe konverter... da kriegst sogar ne richtige exe, brauchst aber trotzdem java runtime environment...
|
atrox
in fairy dust... I trust!
|
es gibt auch welche, die erzeugen ein exe, ohne daß du ein JRE brauchst; schon getestet: allerdings wird eine simple 50k java class plötzlich 12 mb groß.
|
crashman
OC Addicted
|
naja der hpcompiler von ibm war aber net so schlecht. Nur leider still und leise verstorben Ich würde das mit dem Programmicon über eine verknüpfung regeln. Klicken sie halt net auf das jar file sondern darauf.
|
t3mp
I Love Gasoline
|
@psykoman: da ist mir die .jar lösung lieber... damit bleibt's auch plattformunabhängig. trotzdem wär ein link interessant (@atrox). naja eine one-file lösung wär mir schon am liebsten.
|
atrox
in fairy dust... I trust!
|
ich glaub das eine ding hieß jetpack oder javapack, und da gab es noch ein anderes... jedenfalls hab ichs nach dem ausprobieren angewiedert von der platte gelöscht.
|
t3mp
I Love Gasoline
|
als programmierer sollte man ja immer von der größtmöglichen unfähigkeit seines 'kunden' ausgehen... insofern wär das tool schon nützlich. aber es ist natürlich alles andere als elegant.
|
crashman
OC Addicted
|
blöde frage aber hast du schon mal java webstart verwendet ?? Da kannst du zb auch ein icon festlegen welches am desktop erzeugt werden soll. Und es wird bei jedem start abgefragt ob am server eine neuere version des jars liegt. Wäre glaube ich recht ideal für deine zwecke und kaum ein aufwand und updates sind damit null problem. http://java.sun.com/products/javawe...opersguide.html
|
psykoman
Addicted
|
ja java web start is echt net schlecht... hätt eine super fachsbereicharbeit dazu
|