2008-11-13 10 views
16

Ich versuche, Weblogic Server 10.3 (und Portal usw.) einzurichten, um maven als Build-Tool zu verwenden. Ich versuche ein anständiges Tutorial oder eine Dokumentation zu finden, wie das geht. Es gibt einige Tutorials für ältere Versionen wie 9.0, aber es gibt wenig Informationen für Version 10.Verwenden von Maven als Build-Tool für Weblogic 10.3

Ich bin auf der Suche nach einer Möglichkeit, Weblogic Ear-Datei mit Maven zu erstellen. Machen die Leute das wirklich? Ist Maven die Mühe wert?

Ich möchte Maven verwenden, um eine einfachere Integration mit kontinuierlichen Integrationstools wie Hudson zu haben.

edit: Es scheint eine Möglichkeit zu geben, Maven-Dateien direkt zu exportieren http://edocs.bea.com/wlw/docs102/guide/ideuserguide/build/conMavenScript.html. Aber diese Dateien sind einfache Wrapper für Ameisen.

Antwort

16

Ich benutze Maven, um eine EAR zu erstellen, die ich einen WebLogic Server 10.3 bereitstellen. Die kniffligen Teile waren:

  • Finding alle Abhängigkeiten des WebLogic-Maven-Plugin
  • alle Abhängigkeiten in der Maven-Repo-Putting
  • Rahmen noexit auf true (I Sonatype Nexus wirklich empfehlen) (sonst gibt es Probleme, ! in hudson)

verwende ich die folgende Verzeichnisstruktur in dem EAR-Projekt:

pom.xml 
src/ 
    main/ 
     app/ 
      META-INF/ 
        weblogic-application.xml 
Die

folgend wird von meiner pom.xml genommen:

<build> 
    <plugins> 
     <plugin> 
      <artifactId>maven-ear-plugin</artifactId> 
      <configuration> 
       <displayName>My Project</displayName> 
       <earSourceDirectory>src/main/app</earSourceDirectory> 
       <modules> 
        <webModule> 
         <groupId>com.somecompany</groupId> 
         <artifactId>webapp</artifactId> 
        </webModule> 
       </modules> 
      </configuration> 
     </plugin> 
     <plugin> 
      <groupId>org.codehaus.mojo</groupId> 
      <artifactId>weblogic-maven-plugin</artifactId> 
      <version>2.9.1</version> 
      <executions> 
       <execution> 
        <phase>deploy</phase> 
        <goals> 
         <goal>deploy</goal> 
         <goal>start</goal> 
        </goals> 
       </execution> 
      </executions> 
      <configuration> 
       <name>my-project</name> 
       <adminServerHostName>${wls.adminServerHostName}</adminServerHostName> 
       <adminServerPort>${wls.adminServerPort}</adminServerPort> 
       <adminServerProtocol>t3</adminServerProtocol> 
       <userId>${wls.userId}</userId> 
       <password>${wls.password}</password> 
       <upload>true</upload> 
       <remote>true</remote> 
       <verbose>false</verbose> 
       <debug>false</debug> 
       <targetNames>AdminServer</targetNames> 
       <noExit>true</noExit> 
      </configuration> 
      <dependencies> 
       <dependency> 
        <groupId>com.sun</groupId> 
        <artifactId>tools</artifactId> 
        <version>1.5</version> 
        <scope>system</scope> 
        <systemPath>${java.home}/../lib/tools.jar</systemPath> 
       </dependency> 
       <dependency> 
        <groupId>weblogic</groupId> 
        <artifactId>weblogic</artifactId> 
        <version>${weblogic.version}</version> 
        <scope>provided</scope> 
       </dependency> 
       <dependency> 
        <groupId>weblogic</groupId> 
        <artifactId>webservices</artifactId> 
        <version>${weblogic.version}</version> 
        <scope>provided</scope> 
       </dependency> 
       <dependency> 
        <groupId>weblogic</groupId> 
        <artifactId>com.bea.core.utils.full</artifactId> 
        <version>${weblogic.version}</version> 
        <scope>provided</scope> 
       </dependency> 
       <dependency> 
        <groupId>weblogic</groupId> 
        <artifactId>com.bea.core.i18n</artifactId> 
        <version>${weblogic.version}</version> 
        <scope>provided</scope> 
       </dependency> 
       <dependency> 
        <groupId>weblogic</groupId> 
        <artifactId>com.bea.core.weblogic.rmi.client</artifactId> 
        <version>${weblogic.version}</version> 
        <scope>provided</scope> 
       </dependency> 
       <dependency> 
        <groupId>weblogic</groupId> 
        <artifactId>javax.enterprise.deploy</artifactId> 
        <version>${weblogic.version}</version> 
        <scope>provided</scope> 
       </dependency> 
       <dependency> 
        <groupId>weblogic</groupId> 
        <artifactId>webserviceclient</artifactId> 
        <version>${weblogic.version}</version> 
        <scope>provided</scope> 
       </dependency> 
       <dependency> 
        <groupId>weblogic</groupId> 
        <artifactId>com.bea.core.weblogic.security.wls</artifactId> 
        <version>${weblogic.version}</version> 
        <scope>provided</scope> 
       </dependency> 
       <dependency> 
        <groupId>weblogic</groupId> 
        <artifactId>com.bea.core.weblogic.security.identity</artifactId> 
        <version>${weblogic.version}</version> 
        <scope>provided</scope> 
       </dependency> 
       <dependency> 
        <groupId>weblogic</groupId> 
        <artifactId>com.bea.core.weblogic.security</artifactId> 
        <version>${weblogic.version}</version> 
        <scope>provided</scope> 
       </dependency> 
       <dependency> 
        <groupId>weblogic</groupId> 
        <artifactId>wlclient</artifactId> 
        <version>${weblogic.version}</version> 
        <scope>provided</scope> 
       </dependency> 
       <dependency> 
        <groupId>weblogic</groupId> 
        <artifactId>com.bea.core.transaction</artifactId> 
        <version>${weblogic.version}</version> 
        <scope>provided</scope> 
       </dependency> 
       <dependency> 
        <groupId>weblogic</groupId> 
        <artifactId>com.bea.core.utils.classloaders</artifactId> 
        <version>${weblogic.version}</version> 
        <scope>provided</scope> 
       </dependency> 
       <dependency> 
        <groupId>weblogic</groupId> 
        <artifactId>wljmsclient</artifactId> 
        <version>${weblogic.version}</version> 
        <scope>provided</scope> 
       </dependency> 
       <dependency> 
        <groupId>weblogic</groupId> 
        <artifactId>com.bea.core.management.core</artifactId> 
        <version>${weblogic.version}</version> 
        <scope>provided</scope> 
       </dependency> 
       <dependency> 
        <groupId>weblogic</groupId> 
        <artifactId>wls-api</artifactId> 
        <version>${weblogic.version}</version> 
        <scope>provided</scope> 
       </dependency> 
       <dependency> 
        <groupId>weblogic</groupId> 
        <artifactId>com.bea.core.descriptor</artifactId> 
        <version>${weblogic.version}</version> 
        <scope>provided</scope> 
       </dependency> 
       <dependency> 
        <groupId>weblogic</groupId> 
        <artifactId>com.bea.core.logging</artifactId> 
        <version>${weblogic.version}</version> 
        <scope>provided</scope> 
       </dependency> 
       <dependency> 
        <groupId>weblogic</groupId> 
        <artifactId>com.bea.core.weblogic.socket.api</artifactId> 
        <version>${weblogic.version}</version> 
        <scope>provided</scope> 
       </dependency> 
       <dependency> 
        <groupId>weblogic</groupId> 
        <artifactId>com.bea.core.weblogic.security.digest</artifactId> 
        <version>${weblogic.version}</version> 
        <scope>provided</scope> 
       </dependency> 
       <dependency> 
        <groupId>weblogic</groupId> 
        <artifactId>com.bea.core.weblogic.workmanager</artifactId> 
        <version>${weblogic.version}</version> 
        <scope>provided</scope> 
       </dependency> 
       <dependency> 
        <groupId>weblogic</groupId> 
        <artifactId>com.bea.core.weblogic.lifecycle</artifactId> 
        <version>${weblogic.version}</version> 
        <scope>provided</scope> 
       </dependency> 
       <dependency> 
        <groupId>weblogic</groupId> 
        <artifactId>com.bea.core.utils.wrapper</artifactId> 
        <version>${weblogic.version}</version> 
        <scope>provided</scope> 
       </dependency> 
       <dependency> 
        <groupId>weblogic</groupId> 
        <artifactId>wlsafclient</artifactId> 
        <version>${weblogic.version}</version> 
        <scope>provided</scope> 
       </dependency> 
       <dependency> 
        <groupId>weblogic</groupId> 
        <artifactId>com.bea.core.management.jmx</artifactId> 
        <version>${weblogic.version}</version> 
        <scope>provided</scope> 
       </dependency> 
       <dependency> 
        <groupId>weblogic</groupId> 
        <artifactId>com.bea.core.descriptor.wl</artifactId> 
        <version>${weblogic.version}</version> 
        <scope>provided</scope> 
       </dependency> 
      </dependencies> 
     </plugin> 
    </plugins> 
</build> 
9

Wenn Ihr Weblogic 10.3 sitzt auf lokale Box, versucht Cargo mit - es ist viel einfacher aufzusetzen. Hier ist, was ich zu pom.xml hinzuzufügen hatte:

<plugin> 
    <groupId>org.codehaus.cargo</groupId> 
    <artifactId>cargo-maven2-plugin</artifactId> 
    <version>1.0-SNAPSHOT</version> 
    <configuration> 
      <container> 
        <containerId>weblogic103x</containerId> 
        <home>/path/to/your/wlserver_10.3</home> 
      </container> 
    </configuration> 
    </plugin> 
Verwandte Themen