Pergunta

Estou tendo quatro projeto diferente, e eu estou usando Weblogic para implantar meus projetos. Existem várias bibliotecas (arquivos JAR) que são comuns para todos os projetos. Atualmente cada um dos meu projeto está tendo lib e tem quase o mesmo conjunto de bibliotecas. Agora, é possível ter este lib arquivos WAR diretório externos e acessá-los.

Foi útil?

Solução

Resista à tentação de colocar os arquivos JAR na pasta "compartilhada" de seu recipiente. É melhor manter os arquivos jar onde eles estão agora. Pode parecer uma boa idéia usar uma pasta compartilhada agora, mas no futuro pode ser necessário para implantar um aplicativo que requer uma biblioteca compartilhada, mas uma versão diferente.

Dito isto, eu não tenho nenhuma experiência com WebLogic. No Tomcat há uma pasta compartilhada com bibliotecas comuns para todos os aplicativos implementados. Não é uma boa idéia para usar este. Se WebLogic pode ser configurado para usar uma pasta compartilhada por um conjunto de aplicações (e não para todos os aplicativos implementados), você pode ir para ele.

Outras dicas

Você quer fazer isso? A menos que você está preso para o espaço de implantação, eu (talvez) aconselhar contra ele.

Por quê? No momento em que você tem 4 soluções que funcionam off estes libs. Se você tem que atualizar uma das libs (digamos, se você descobrir um bug, ou se você precisar de um novo recurso), então você vai ter à compatibilidade teste e funcionalidade para todos os 4 soluções. Se cada solução tem seu próprio conjunto de bibliotecas, então eles estão no modo seguro e você não tem que mover todos os 4 na etapa.

Note que tudo isso dobradiças sobre como é fácil de regressão-teste suas soluções. Você pode achar que é fácil, no caso de usar que o mesmo conjunto de libs é viável.

Não faça isso.

A idéia de arquivos WAR é que eles são unidades auto-suficientes. Isso torna a implantação muito mais fácil.

Além dos possíveis conflitos de versão que os outros têm apontado, colocando arquivos jar in / compartilhada pode ter consequências muito aninhadas para visibilidade de classe. Eles vão estar em um carregador de classe separado, e ser incapaz de ver as classes no arquivo WAR. Se você usar bibliotecas que dependem de Class.forName () para o trabalho (e há muitos), isso pode ficar muito doloroso.

Se você realmente não pode pagar o espaço em disco e olhar de memória extra em OSGi ou Primavera DM. Eles resolveram esse problema, mas ao preço de maior complexidade.

Coloque todos os arquivos JAR compartilhados sob common \ lib pasta de WebLogic. common \ lib é acessível por todos os aplicativos implantados.

Bem, primeiro de tudo você pode colocar suas libs todos no mesmo lugar e ter sua importação processo de construção os necessários.

Tem para em implantar o novo Weblogic 10 tem uma pasta lib em cada domínio onde você pode colocar bibliotecas compartilhadas. Eu não acho que é possível antes Weblogic 10

Você pode colocar os frascos em seu próprio arquivo de ouvido e implantá-lo como uma biblioteca compartilhada.

Você também pode colocar as guerras em um ouvido e adicionar os frascos compartilhados para APP-INF / lib. Esta é uma extensão Weblogic de J2EE, por isso não vai funcionar em outros servidores.

Atualmente estou usando outra abordagem.

  1. Crie uma pasta repositório central e colocar todas as bibliotecas comuns lá.
  2. Em cada projeto que você pode criar uma referência para todas as bibliotecas necessárias. No Subversion trabalha com externos

Toda vez, a cópia de trabalho local é atualizado, o exterior são atualizados para, assim você só precisa se comprometer com a pasta central e é distribuído automaticamente para todos os projetos.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top