Bom…acredito que compartilhar o war file entre aplicações não seja muito fácil e pra ser sincero, nunca vi em local algum…e também não sei se isso é possível…o outro colega ressaltou que no JBOSS é possível, porém, voce irá fica “preso” a um determinado appserver.
O nobre colega citou em logo acima uma opção que eu acho a mais correta para esses casos que seria de criar ao invés de “any” war files empacotar as classes “comuns” em jar files e então reutilizá-las em suas aplicações, colocando essas “dependências” no classpath da aplicação (web-inf/lib) ou no “/lib” do servidor, porém voce descartou essa hipótese devido ao “retrabalho” de ficar duplicando essas classses nos outro servidores caso um bug seja descoberto. De qualquer maneira, caso esses bugs apareçam e a chance dos mesmos aparecerem é grande, voce terá que fazer uma atualização nos war files (isso se voce optar pela sua sugestão) , ou seja, o trabalho de “duplicar” arquivos (war ou jar) não vai ser “enconimizado”, sendo assim, alterar mais um jar ou mais (com as classes comuns) acho que não vai ser problema logo a meu ver, o problema que voce citou de manutenciabilidade do sistema tendo que duplicar any arquivos na minha opinão vai ser o mesmo…
Minha sugestão pra voce seria trabalhar co o MAVEN 2 para issso. Sei que muitas pessoas aqui tem ódio mortal dessa ferramenta mas quando existe esse cenário de “dependências” compartilhadas, diferentes versões de classes e necessidade de build’s rápidos, não conheço ferramenta mais poderosa do que essa.
Site Oficial : http://maven.apache.org/
Tutorial GUJ: http://www.guj.com.br/article.show.logic?id=185
Lembrando que um “war” seria um “web archive” ou seja, classes referentes a um projeto WEB e não foi feito para voce “compartilhar esses recursos” via features do application server. Se voce precisa de um coisa nesse sentido, voce teria que usar um “jar”…
Mesmo assim. se voce não gostou da minha sugestão, devido ao “trabalho” de ficar atualizando dependências em “any” app servers, sugiro a voce trabalhar com “RMI” , ou seja utulizar EJB’s, Webservices ou Rest.
Por fim, acredito que a solução com maven seja a mais indicada, mas fica a seu critério.
Abraços e Boa Sorte!