Domanda

Sarà l'aggiunta di un file MANIFEST.MF con l'attributo Class-Path to directory META-INF all'interno influenza EAR l'ordine di caricamento dei JAR situati in APP-INF / lib sotto WebLogic 8.1?

È stato utile?

Soluzione

Io non credo che si possa controllare l'ordine APP-INF / lib tramite l'attributo ClassPath di MANIFEST.MF.

L'ho fatto un paio di modi diversi, a seconda del cliente.

  1. Aggiungi il vaso patch al classpath di sistema per WLS. Se si esamina dominio / bin / setDomainEnv.sh (o .cmd) ci dovrebbe pre, post, applicate le variabili di ambiente classpath. Si potrebbe provare aggiungere la barattolo cerotto al percorso di classe qui. Questo lo rende disponibile per tutte le applicazioni, che potrebbe non essere ciò che il cliente vuole.
  2. Patch somejar.jar & denominarlo somejar-patched.jar. Sostituire il vaso in APP-INF / lib con la versione "-patched".

Altri suggerimenti

Ho pensato che il caricatore di classe a leggere JAR come sono richiesti dalla vostra applicazione.

ho due domande per voi:

  1. Perché stai ancora utilizzando WebLogic 8.1? E 'fuori di supporto ora, e la versione corrente è 10.x. Sei due versioni dietro. Si tratta di un'applicazione legacy che non è ancora migrato? Otterrete una grande spinta per l'aggiornamento, perché sarete utilizzando JDK 5 o 6 con l'opzione -server. Lo consiglio.
  2. Perché si deve preoccuparsi l'ordine di carico? Dovrebbe essere irrilevante per la vostra applicazione come i container carichi e gestisce i fagioli.

UPDATE:

Che suona diverso, quasi come se si stavano avendo conflitti con JAR del server. C'è quel preferire-web- INF-classi impostazione per quella situazione. È questo che vuoi dire?

Sono d'accordo con duffymo

Non si dovrebbe devi preoccuparti per l'ordine di caricamento delle classi, se questo è dovuto alle classi in conflitto è sempre possibile escludere le classi in conflitto da vasetti con Maven o uno strumento simile.

Per esempio questo è un esempio molto semplice di aggiungere vaso jersey-Spring4 ma sto escludendo le sue dipendenze in modo da poter utilizzare una versione diversa della libreria Spring Framework.

<dependency>
  <groupId>org.glassfish.jersey.ext</groupId>
  <artifactId>jersey-spring4</artifactId>
  <exclusions>
    <exclusion>
      <artifactId>spring-web</artifactId>
      <groupId>org.springframework</groupId>
    </exclusion>
    <exclusion>
      <artifactId>spring-aop</artifactId>
      <groupId>org.springframework</groupId>
    </exclusion>
    <exclusion>
      <artifactId>spring-context</artifactId>
      <groupId>org.springframework</groupId>
    </exclusion>
    <exclusion>
      <artifactId>spring-beans</artifactId>
      <groupId>org.springframework</groupId>
    </exclusion>
  </exclusions>
</dependency>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top