Installer ohne JAR

schnepfo

Mitglied
Hallo, ich bin auf der Suche nach folgendem:

Ein Programm mit dem ich aus meinem Eclipse Projekt einen Installer basteln kann habe ich schon. (NSIS)

Dieser entpackt mir das Projekt in den C:/.../Programmordner

So weit so gut.

Jedoch muss ich diese Dateien ja auch irgendwie ausführen? Es sollte durch einen Doppelklick startbar sein, also nicht auf der Konsole auszuführen sein.

Jedoch beeinhaltet ein Projekt nur src und class Dateien, also wie durch Doppelklick ausführen?

Die Lösung als JAR Archiv kenne ich, bringt mir aber in meinem Fall nichts, weil ich auf Dateien innh des JAR Archivs schreibe, und das innerhalb eines JAR Archivs anscheinend nicht möglich ist.

Die einzige möglichkeit die mir einfallen würde, ist obigen Installer zu nehmen damit er es hinkopiert, und dann eine Verknüpfung erstellen, welche dann java.exe aufruft und die zugehörige .class datei ausführt. Jedoch habe ich da das Problem dass ich den Pfad nicht immer kenne.

Gibts dafür eine elegante Lösung?

lg
 
N

nillehammer

Gast
Gibts dafür eine elegante Lösung?
Die elegantere Lösung ist, den Speicherort Deines Programms (also die .class-Dateien) von den Daten, die es schreibt, zu trennen. Als Speicherort für die Daten bietet sich ein Unterverzeichnis von User-Home an:
Java:
String dataPath = System.getProperty("user.home") + "/<meinProgrammname>";
Dann kannst Du Dein Programm auch als jar verteilen.
 

schnepfo

Mitglied
Also ich weiß nicht ob ich das jetzt richtig verstanden habe.

Meinst du, dass einfach in dem Verzeichnis die Dateien abgelegt werden?

Denn das würde heißen das ich sie beim Start anlegen muss, was aber voraussetzt dass ich den Inhalt, den ich schreiben will, schon im Programmcode drinnen habe.

Das ist jedoch nicht der Fall.

Ich lese eine bereits existierende Datei ein, und möchte auch, dass Änderungen die das Java Programm an der Datei durchführt, bestehen bleiben. Somit ginge deine Lösung, falls ich sie richtig verstanden habe nicht, da sie jedes mal wieder überschrieben werden würde, mit den alten harcodierten Werten welche ich in das Java Programm einbauen müsste.

So eine Lösung beabsichtige ich nicht.

Geht es nicht so: Alles wird in ein Verzeichnis entpackt, + eine Verknüpfung die das Programm aufruft. ?
 
N

nillehammer

Gast
Ich lese eine bereits existierende Datei ein,
Wo kommt die her? Das kannst Du doch auch weiterhin tun.
und möchte auch, dass Änderungen die das Java Programm an der Datei durchführt, bestehen bleiben.
Da spricht doch garnichts gegen:
Code:
- Prüfen, ob Datei in User-Home vorhanden
  - Wenn ja, von dort einlesen
  - Wenn nein, Initialdaten aus Classpath-Resource (also die mit dem Programm ausgelieferte Datei) einlesen oder neu anlegen, je nachdem
 
N

nillehammer

Gast
Aber ich will verhindern, dass eine Datei ausserhalb des JAR Archivs angelegt wird.
Auch bei Deiner Version wird außerhalb eines Jars geschrieben. Innerhalb des Jar-Archivs kannst Du keine Dateien anlegen. Das hast Du ja schon selbst rausgefunden und deswegen lieferst Du Dein Programm in ausgepackter Version in eibnem Verzeichnis aus. In diesem schreibst Du. Was ist daran besser als in "user.home"?
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M jpackage zusätzlich zu deb installer auch einen windows installer bauen Tools - Maven, Gradle, Ant & mehr 9
S .exe / Dateiverknüpfung / Installer Tools - Maven, Gradle, Ant & mehr 4
P Installer für Anwendung bauen Tools - Maven, Gradle, Ant & mehr 4
O Installer, generierbar aus Programm Tools - Maven, Gradle, Ant & mehr 3
F Installer der nur für Benutzer installiert Tools - Maven, Gradle, Ant & mehr 7
R Webanwendung als Desktopsymbol (via Installer) Tools - Maven, Gradle, Ant & mehr 5
V Suche einen Installer Tools - Maven, Gradle, Ant & mehr 4
XLazarus Bundled Installer Tools - Maven, Gradle, Ant & mehr 3
H Maven NetBeans Java Application ohne Manifest-Datei Tools - Maven, Gradle, Ant & mehr 7
M Mit Maven eine jar Datei bauen ohne irgendeine main Methode Tools - Maven, Gradle, Ant & mehr 1
M Mit Maven eine jar Datei Bauen ohne irgendeine main Methode Tools - Maven, Gradle, Ant & mehr 18
R Webstart Java 11 ohne Web Start Tools - Maven, Gradle, Ant & mehr 5
K Eine ausführbare exe ohne installiertes JRE möglich? Tools - Maven, Gradle, Ant & mehr 4
G Maven site-deploy per SSH ohne Benutzereingabe Tools - Maven, Gradle, Ant & mehr 1
reibi Maven Build ohne netz Tools - Maven, Gradle, Ant & mehr 2
M Versionierung mit GIT ohne online Repository Tools - Maven, Gradle, Ant & mehr 6
F Problem beim Kompilieren ohne IDE Tools - Maven, Gradle, Ant & mehr 5
-horn- Pures JRE ohne Ballast? Für BOINC-Projekt Tools - Maven, Gradle, Ant & mehr 4
P Update-Mechanismus ohne Webstart Tools - Maven, Gradle, Ant & mehr 9
A Applet Maus Koordinaten ohne MouseMotionListener Tools - Maven, Gradle, Ant & mehr 3
S Javachats nutzen ohne Websites zu betreten Tools - Maven, Gradle, Ant & mehr 3
G Chat ohne ständig laufenden Chatserver Tools - Maven, Gradle, Ant & mehr 5
M Alternativtext bei Browser ohne Java? Tools - Maven, Gradle, Ant & mehr 3
S Applet signieren ohne Jarsigner Tools - Maven, Gradle, Ant & mehr 2
C Java Bean ohne BeanBuilder Tools - Maven, Gradle, Ant & mehr 5

Ähnliche Java Themen

Neue Themen


Oben