Hi Leute,
nachdem ich nun ein Fernstudium gemacht habe und mein Projekt (es sollte
ein graphischer Taschenrechner programmiert werden) fertiggestellt habe,
möchte ich nun doch allzu gern wissen, wie man das besagte Programm nun
portabel machen kann.
Die Programmierung schön und gut. Leider wird in keinem (!) mir
bekanntem Werk beschrieben, wie man nun aus seinem Java-Code einen
ausführbaren Code machen kann, den man -obacht!- auf einer fremden
Maschine installieren und ausführen kann.
Man stelle sich mal einen Kunden vor, der bei einem Softwerker selbige
in Entwicklung gibt...
Da kann man doch schlecht eine executable JAR rüberreichen und sagen:
"wenn sie dann in der Konsole den Befehl XYZ eingeben und das Manifest
einbinden, dann könnte sich mit viel Glück die Anwendung die sie soeben
für 1000 Euro bei mir gekauft haben öffnen und sie werden glücklich."
Wie also kann ich eine komfortable Installation einrichten, die es
ermöglicht, meine Java-Anwendung auf einem fremden PC (ich begnüge mich
schon mit einem Windows-System) installierbar zu machen?
Sorry für die dumme Frage.
Der mit dem abgeschlossenen Fernstudium als "Programmierer in Java".
Vl. hilft dir das weiter:
http://java-source.net/open-source/installer-generators
bzw kannst du auch mit Innosetup oder NSIS eine Install erstellen.
Einfach danach googlen da bekommst genug Infos was die besser zusagt :)
mfg
Florian
Wenn Du das Mainifest in die JAR Datei einbindest reicht es zumindest in
Windows 7 mit installierter JRE auf das JAR doppelzuklicken.
Alternativ:
http://launch4j.sourceforge.net/
Leute, danke erstmal, aber versteht ihr mein Problem?
Ich weiß ja nicht...Java wird hochgelobt wie sonst was. Und wenn es dann
ans Eingemachte geht, dann gibt es nicht wirklich "die" Lösung.
Nennt mir doch mal bitte eine bekannte Anwendung, die in Java entwickelt
wurde und wenns geht auch deren "Install-Software", die mir dabei hilft,
es zu installieren.
Ich finde es irgendwie schade, dass sowas nicht in Eclipse integriert
ist.
Denn was nützt mir das ganze Programmieren, wenn ich nicht in einem
Arbeitsgang eine waschechte Software erstellen kann?!
Witzkow schrieb:> Nennt mir doch mal bitte eine bekannte Anwendung, die in Java entwickelt> wurde und wenns geht auch deren "Install-Software", die mir dabei hilft,> es zu installieren.
jDownloader
Witzkow schrieb:> Eigentlich würde mich ja nur interessieren, wie es die Profis da draußen> machen. Die ihre Brötchen mit Java verdienen...
Du machst einen Launcher für jede benötigte Plattform.
Für Windows machst du das mit Lauch4J, für Linux machst du ein
Shellscript, ein .deb bzw. .rpm oder ähnliches.
Und für Mac OS X machst du eine .app Package.
Alles zusammen kannst du automatisiert z.B. per Ant Script erstellen.
>Der mit dem abgeschlossenen Fernstudium als "Programmierer in Java".
ps. sowas lernt man auch in einem nicht-Fernstudium nicht. Du wirst noch
vieles im Selbststudium lernen müssen, oder eben, bei anderen abschauen.
Und Java Applikationen gibt es doch viele, z.B. GeoGebra,
Steuersoftware, FrostWire (kA ob es das noch gibt), und auch sonst noch
einiges...
mfg Andreas
Witzkow schrieb:> meine Java-Anwendung auf einem fremden PC (ich begnüge mich> schon mit einem Windows-System) installierbar zu machen
Java Anwendungen muss man nicht "installierbar" machen, kann man aber...
da gibt es (wie überall) Tools für. oder wie würdest du eine
"C-Anwendung" installierbar machen? Wie gesagt kann man JAR files auch
passend vorbereiten, wenn man es ganz nett machen will nimmt man
JavaWebstart und ansosnten baut man sich halt einen Launcher.
Vielfach "laufen" größere Anwendungen auch in einem Framework welche das
schon alles hat (z.B. Eclipse, JBoss, Tomcat...)
Der Standard-Installer für Java ist Java Webstart (ja, der geht auch,
wenn man das .jar-Archiv gar nicht aus dem Web läd). Dass sollte man
schon in so einem merkwürdigen Fernstudium gelernt haben. Das Webstart
ziemlich nervt ist eine andere Sache. Daher sollte man auch gelernt
haben, dass man jars sogar ohne Installation starten kann.
Die ganzen Installer und Packager sind Zuckerguss, die man macht, damit
sich der User wie Zuhause fühlt, nicht weil sie etwas wichtiges machen.
Witzkow schrieb:> Nennt mir doch mal bitte eine bekannte Anwendung, die in Java entwickelt> wurde
VMWare ESX, VMWare Player, Lotus-Notes, Maple, NASA World Wind, Eclipse,
Netbeans, Intellij idea, Jdownloader, Azureus, OpenOffice, SAP
Netweaver, ... die Liste ist endlos.
Jjee schrieb:> VMWare ESX, VMWare Player, Lotus-Notes, Maple, NASA World Wind, Eclipse,> Netbeans, Intellij idea, Jdownloader, Azureus, OpenOffice, SAP> Netweaver, ... die Liste ist endlos.
Nicht zu vergessen: Minecraft
:D
Jjee schrieb:> Witzkow schrieb:>> Nennt mir doch mal bitte eine bekannte Anwendung, die in Java entwickelt>> wurde>> VMWare ESX, VMWare Player, Lotus-Notes, Maple, NASA World Wind, Eclipse,> Netbeans, Intellij idea, Jdownloader, Azureus, OpenOffice, SAP> Netweaver, ... die Liste ist endlos.
Also mein VMWare Player läuft definitiv ohne Java...
>Die ganzen Installer und Packager sind Zuckerguss, die man macht, damit>sich der User wie Zuhause fühlt, nicht weil sie etwas wichtiges machen.
Und genau um nichts anderes geht es.
Wie oben bereits beschrieben soll eine Software z.B. an einen Kunden da
draußen (oder jedwelchen dümmsten anzunehmenden User) weitergegeben
werden.
Der möchte eben eine Installationsroutine, die er von allen
klicki-bunti-Sachen gewohnt ist und sich damit "wohl" fühlt.
?
Ich hätte von jemandem mit einem abgeschlossenen Fernstudium als
"Programmierer in Java" erwartet das es sich die Antwort selbst
erarbeiten kann, und nicht in einem Mikrocontroller-Forum danach fragen
muss.
@Witzkow
scheinbar erwartest du dir eine klicki-bunti anwendung, die dir die
Arbeit abnimmt ;-)
steht ja eh schon 100ert mal im thread
für klicki-bunti brachst du für jede Plattform ein entsprechendes
installer-paket
(genauso wie du es für compilierte Programme auch "brauchst")
standard auf windows ist z.b. msi
bei android muss es in den PlayStore
bei iPhone in den AppStore
bei linux in ein ein rpm (apt-get install usw.)
dort kann man jeweils auch die Abhängigkeiten definieren, die man dann
eben dazu installieren muss (windows) oder automatisch installiert
werden (linux usw.)
>Ich weiß ja nicht...Java wird hochgelobt wie sonst was.
naja... sagen wir mal besser nix, soll ja kein flame-war aufkommen