Domanda

Sto configurando un programma di installazione per il nostro prodotto che, fino ad ora, era distribuito come file di guerra, di solito su Tomcat. Una volta che Tomcat ha fatto esplodere la directory, l'utente deve aprire un file delle proprietà e impostare le informazioni sulla connessione al database. Vorrei che il programma di installazione lo facesse (stiamo usando install4j) ma non sembra esserci un modo integrato per modificare un file di testo all'interno di un file di guerra. Potrei semplicemente fare in modo che l'installer distribuisca l'app come una directory esplosa, il che mi farebbe risparmiare il problema qui, ma cosa posso perdere schierandomi in quel modo invece di schierare la guerra?

È stato utile?

Soluzione

Potrebbe funzionare meglio impostare la connessione al database come origine dati JNDI, piuttosto che modificare manualmente un file delle proprietà all'interno della directory webapp /. Ciò è particolarmente importante se si desidera consentire agli utenti di ridistribuire l'applicazione dall'archivio .WAR senza sovrascrivere le modifiche alla configurazione locale.

Ovviamente, l'installazione di JNDI non sarà nemmeno banalmente eseguita tramite il programma di installazione, poiché il meccanismo utilizzato varia da server delle app a server delle app. Tuttavia, qualsiasi amministratore competente del server delle applicazioni Java dovrebbe sapere come configurare un'origine dati denominata. Inoltre, delegando la responsabilità al server delle app, consenti ai tuoi utenti di trarre vantaggio dal pool di connessioni, dal clustering e da qualsiasi altra funzionalità fornita dall'implementazione dell'origine dati in bundle con il server delle applicazioni prescelto.

Altri suggerimenti

Non penserei molto, forse un po 'di spazio su disco, ma se non fosse un problema andresti bene. Hai mai pensato di far generare al file di installazione il file delle proprietà e di utilizzare una libreria ZIP (.WAR è davvero un .ZIP - rinominalo in un .ZIP e vedi cosa ottieni :)) per sostituirlo o aggiungerlo?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top