Implicazioni di costruzione di un programma java contro i barattoli di un contenitore web e la distribuzione in un'altra

StackOverflow https://stackoverflow.com/questions/6819688

Domanda

Quali sono le implicazioni della costruzione di un programma Java contro i vasetti di un contenitore web (diciamo molo) e in esecuzione in un altro (ad esempio Tomcat)?

Ho un'applicazione che corro in Jetty durring sviluppo, ma che viene distribuito in un server Tomcat per la produzione (perché? Perché sembra più facile da svilupparsi senza dover eseguire un intero server Tomcat.)

È stato utile?

Soluzione

Si dovrebbe compilare contro solo l'API Java EE ufficiale del per il livello si target, per qualsiasi sviluppatore non costruisce. Preferibilmente da un motore di generazione. Preferibilmente su un sistema operativo diverso da quello si sviluppa su.

Per un'applicazione web questa media API servlet appropriato come scaricato dal Oracle. Simile per un'applicazione enterprise.

Nella mia esperienza, questo è il modo migliore per tenerlo dritto.


Modifica: Java EE SDK è disponibile da http: // www. oracle.com/technetwork/java/javaee/downloads/index.html . Se avete bisogno di una versione precedente di Java EE 6, quindi seguire il link "versioni precedenti".

Altri suggerimenti

È possibile ottenere questioni come MethodNotFoundError. In genere è possibile risolvere questi facendo in modo che le versioni di vasi installati sui server partita.

in genere si vuole sviluppare in cui si distribuisce. Potrebbe essere un po ' più difficile da svilupparsi con Tomcat vs molo, ma è stato identificato un potenziale disastro di un problema con i conflitti vaso, in modo da non sembrare vale la pena di sviluppare con Tomcat, dal momento che si distribuisce a Tomcat?

Inoltre, in genere il dolore di sviluppare contro Tomcat / contenitore di scelta è mitigato dalla messa nel tempo di scrivere una formica (o altro) compito che distribuire il codice per il vostro contenitore di sviluppo. I bemoes del ciclo di lavoro

1) Scrivi nuovo codice
2) Assicurarsi test passano
3) eseguire il 'ridistribuire' sceneggiatura
4) frugare nella istanza in esecuzione

Probabilmente si desidera farlo.

Infine, nello spirito di accoppiamento lasco, probabilmente non si vuole dipendere da un contenitore-specifiche librerie se si può evitare; farlo solo come ultima risorsa assoluto.

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