Come creare un programma di installazione utilizzando Java che combinano Tomcat, il file mysql e la guerra e venire fuori un exe finale?Come creare installer webapp Java (.exe) che include Tomcat e MySQL?"
risposta
È possibile utilizzare qualsiasi programma di installazione, davvero. Personalmente ho usato InnoSetup, che è abbastanza semplice, ma può ancora eseguire quasi tutte le attività al momento dell'installazione.
Nel tuo caso, probabilmente vuoi posizionare i file Tomcat da qualche parte, inclusa la webapp. Personalizza alcuni file di configurazione ed esegui il programma di installazione MySQL in modalità silenziosa. Tutto ciò è perfettamente possibile con InnoSetup.
Se è necessaria maggiore flessibilità, è possibile consultare NSIS, un'altra applicazione di installazione molto semplice ma molto potente.
Grazie per la tua raccomandazione..InnoSetup è buono e facile da usare. – Wilson
Qualcuno ha postato una domanda successiva su come eseguire questa operazione con Inno Setup: http://stackoverflow.com/questions/938925/how-to-use-inno-setup-to-create-an-installer-for-installing -the-tomcat-mysql-we – Jonik
Il link di Jonik è morto – rogerdpack
Vorrei suggerire, che tu usi Java per questo, un installer.jar. Come vorresti eseguire tomcat in ogni caso, non c'è bisogno di inserire un file exe. Abbiamo fatto qualcosa di simile, programmando un programma di installazione di jar con l'aiuto dell'API Ant (Ant utilizzato a livello di codice)
Puoi dare un po 'più di informazioni su questo, mi piacerebbe sapere di più su di esso e come è fatto. –
Scarica Ant jar dal sito Web di Apache e gioca un po 'con l'API. Invece di usare forse il comando XML
oh, capisco cosa intendi. così lo si installa quando si compila invece di distribuire un'installazione su un computer client/server? –
Le possibili opzioni sono state in gran parte coperto in diverse domande già, in particolare:.
- What’s the best way to distribute Java applications?
- What is the best installation tool for java?
- What are good InstallAnywhere replacements for installing a Java EE application?
... e altre domande tagged java + installer
Anche se certamente alcune opzioni menzionate in queste domande non possono produrre gli installatori .exe autosufficienti. Se uno strumento commerciale è ok per te, posso personalmente raccomandare install4j (costi $); tra le altre cose, può creare programmi di installazione .exe (details about my experiences with it). Oppure, per uno strumento più semplice e gratuito per la produzione di file eseguibili di Windows da programmi Java, vedere Launch4j.
Aggiornamento della mia raccomandazione install4j, sulla base di questo commento di OP:
Sì, il programma di installazione exe necessità di installare lo script Tomcat, MySQL, applicazioni web, e db tutto in una volta. Alla fine, gli utenti devono solo avviare il servizio myscl di tomcat e . Vai al browser può accedere all'applicazione web.
Con install4j,
- si può racchiudere Tomcat, MySQL e il vostro webapp bene
- è possibile avviare automaticamente i servizi anche dal programma di installazione (o lasciarlo agli utenti come lei suggerisce)
- se si vuole, l'installatore può anche lanciare direttamente il browser e puntarlo al vostro webapp :-)
ho appena fatto come cosa diversa con install4j (bundle application server, webapp, script di database e molte altre cose; senza impacchettare il database comunque), quindi sono relativamente sicuro che possa essere fatto. Non so se puoi farlo (facilmente) con gli strumenti gratuiti come Launch4j.
-1 Questo non è coperto in nessuno dei precedenti. Sta chiaramente parlando dell'installazione di tomcat e mysql con un'applicazione WAR non java ma una webapp java. –
Beh, è stato coperto in una certa misura, dal momento che ad esempio con install4j è possibile includere i file Tomcat, MySQL, WAR o qualsiasi altra cosa si desideri. – Jonik
Voglio dire, se stiamo parlando di creare programmi di installazione .exe per il software Java, gli strumenti possibili saranno uguali, indipendentemente dal fatto che si tratti di un'applicazione web o meno. – Jonik
È possibile utilizzare BitRock InstallBuilder per questo (costi $). Per esempi di tali programmi, controllare Alfresco, Liferay, ecc programmi di installazione che includono Tomcat, MySQL, ecc. A BitNami
Ecco la mia soluzione minimalista a questo problema. Ho scaricato le installazioni di tomcat e MySQL senza programma di installazione, quindi le ho semplicemente decompresse e ho provato che funzionano bene. In questo momento installerai il file war su tomcat e lo schema relativo al mysql. Quindi quando copi le cartelle, tutto viene copiato. E puoi testare come funziona. Probabilmente puoi fare qualche messa a punto su di loro, ma per me funzionano subito bene, dato che la mia app non è così impegnativa. Oltre a ciò ho scaricato sia la versione a 32 che a 64 bit dei programmi in modo che possano essere installati entrambi. Ho usato Inno setup per impacchettare il programma di installazione. Fondamentalmente copia solo entrambe le cartelle scegliendo l'architettura 32 o 64 e installa sia tomcat che mysql come servizio Windows.
[Setup]
AppName=MyApp
AppVersion=1.0
DefaultDirName={pf}\MyApp
DefaultGroupName=MyApp
Compression=lzma2
SolidCompression=yes
OutputDir=output
; "ArchitecturesInstallIn64BitMode=x64" requests that the install be
; done in "64-bit mode" on x64, meaning it should use the native
; 64-bit Program Files directory and the 64-bit view of the registry.
; On all other architectures it will install in "32-bit mode".
ArchitecturesInstallIn64BitMode=x64
; Note: We don't set ProcessorsAllowed because we want this
; installation to run on all architectures (including Itanium,
; since it's capable of running 32-bit code too).
[Files]
; Install x64 if running in 64-bit mode (x64; see above), x86.exe otherwise.
Source: "mysql-5.5.13-winx64\*.*"; DestDir: "{app}\mysql"; Check: Is64BitInstallMode; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "mysql-5.5.13-win32\*.*"; DestDir: "{app}\mysql"; Check: not Is64BitInstallMode; Flags: ignoreversion recursesubdirs createallsubdirs
; Install x64 if running in 64-bit mode (x64; see above), x86.exe otherwise.
Source: "apache-tomcat-6.0.32-x64\*.*"; DestDir: "{app}\tomcat"; Check: Is64BitInstallMode; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "apache-tomcat-6.0.32-x86\*.*"; DestDir: "{app}\tomcat"; Check: not Is64BitInstallMode; Flags: ignoreversion recursesubdirs createallsubdirs
;
Source: "start.bat"; DestDir: "{app}"; DestName: "start.bat";
Source: "stop.bat"; DestDir: "{app}"; DestName: "stop.bat";
[Icons]
Name: "{group}\Start MyApp"; Filename: "{app}\start.bat"
Name: "{group}\Stop MyApp"; Filename: "{app}\stop.bat"
[Run]
; install mysql and tomcat as services
Filename: "{app}\mysql\bin\mysqld.exe"; Parameters: "--install MyApp_MySQL"
Filename: "{app}\tomcat\bin\service.bat"; Parameters: "install"
Filename: "{app}\start.bat"; Description: {cm:LaunchProgram,{cm:AppName}}; Flags: nowait postinstall skipifsilent
[UninstallRun]
; uninstall mysql and tomcat as services
Filename: "{app}\stop.bat";
Filename: "{app}\mysql\bin\mysqld.exe"; Parameters: "--remove MyApp_MySQL"
Filename: "set"; Parameters: "CATALINA_HOME={app}\tomcat"
Filename: "{app}\tomcat\bin\tomcat6.exe"; Parameters: "//DS//MyApp_Tomcat"
[CustomMessages]
AppName=MyApp
LaunchProgram=Start MyApp after finishing installation
Per eseguire l'app ora tutto ciò che serve è avviare/interrompere i servizi registrati. start.bat
NET START MyApp_MySQL
NET START MyApp_Tomcat
START "" "http://localhost:8080/myapp/"
stop.bat
NET STOP MyApp_MySQL
NET STOP MyApp_Tomcat
Per me funziona bene.
- Forse è possibile includere JRE installazione come pure, causare alcuni composizioni potrebbero non averlo.
- Anche se qualcuno sa come ispezionare se Tomcat e MySQL porte sono già occupati, e come a cambiare nel file di configurazione, si prega di ci dicono.
- Anche se è possibile controllare l'indirizzo IP e digitarlo invece di localhost sarebbe fantastico.
saluti
Amir
Un modo migliore è usare IzPack, è meglio di altri perché, è necessario solo per confezionare una volta e può essere utilizzato su qualsiasi sistema operativo con la stessa compilato vaso.
L'ho utilizzato personalmente per il packaging di tomcat, mysql e altri prerequisiti per la mia applicazione web.
Ho utilizzato Launch4J per la creazione di file eseguibili (.exe) dal file jar generato da IzPack.
- 1. .Net Installer - Diff tra .exe e .msi
- 2. Impostazioni memoria Tomcat per webapp
- 3. Come creare un file exe in java
- 4. Tomcat Webapp sulla porta 80
- 5. Directory webapp Tomcat in windows
- 6. Come distribuire webapp esterna in tomcat?
- 7. Quale DataSource per l'applicazione utilizzata sia in stand-alone e contesto webapp (Java 7, Tomcat 7)?
- 8. Electron creare installer MSI utilizzando elettrone-builder
- 9. mysql community server vs mysql installer
- 10. tomcat restart webapp dalla riga di comando
- 11. Distribuzione remota di webapp Tomcat da Eclipse
- 12. Come creare un file JAR che include file DLL?
- 13. Come posso creare un exe in NetBeans?
- 14. Come si associa un sottodominio a una webapp su Tomcat 6 (inclusa la webapp di root)?
- 15. Genera file di guerra dalla cartella webapp tomcat
- 16. Installer MySQL bloccato su "Starting Service"
- 17. mysql installer non riconosce Python 3.4
- 18. Come configurare l'applicazione Java (tomcat e mysql) su Amazon AWS con Auto Scaleup e Load balancers?
- 19. Come ottenere una pagina di benvenuto da Tomcat root, piuttosto che contesto webapp?
- 20. Come creare il pacchetto NuGet che include dati intellisense XML
- 21. Installer e Updater per un'applicazione desktop python
- 22. Progetto Visual Studio Installer: icone Installer e Applicazione
- 23. Come creare exe di un'applicazione console
- 24. Come creare un database localhost usando mysql?
- 25. Come serializzare un oggetto che include BufferedImages
- 26. In che modo una webapp inoltra a un'altra webapp?
- 27. Tomcat - avvio di webapp in un ordine specifico
- 28. Ho bisogno di conoscere la porta HTTP e HTTPS la mia java webapp è in esecuzione su webapp startup
- 29. Distribuzione di webapp Java a Tomcat 8 in esecuzione nel contenitore Docker
- 30. Creare un exe windows autonomo che non richiede pythonXX.dll
Pensi che potresti essere un po 'più specifico, vuoi che l'exe installi tomcat e mysql nel sistema o vuoi che sia un exe che eseguirà sia tomcat che mysql come demoni o qualcosa del genere? –
Sì, l'installer exe deve installare il tomcat, mysql, l'applicazione Web e lo script db tutto in una volta. Alla fine, gli utenti devono solo avviare il servizio tomcat e mysql. Vai al browser può accedere all'applicazione web. – Wilson
Qualcuno può modificare il titolo della domanda per essere un po 'più descrittivo? ("Come creare l'installer webapp Java (.exe) che include Tomcat e MySQL?", O qualcosa del genere.) Grazie. – Jonik