views:

1088

answers:

1

Hi, I'm using maven for deploying a web application in my Weblogic 10.3 server remotely. I created my pom file based on the indication on this previous question:

Using maven as build tool for Weblogic 10.3

My pom.xml file is:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"&gt;
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.balfourbeatty.horizon.maven.test</groupId>
  <artifactId>maven-test-webapp</artifactId>
  <packaging>war</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>maven-test-webapp Maven Webapp</name>
  <url>http://maven.apache.org&lt;/url&gt;

  <properties>
    <weblogic.version>10.3</weblogic.version>
  </properties>


  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.myfaces.trinidadbuild</groupId>
        <artifactId>maven-jdev-plugin</artifactId>
      </plugin>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>weblogic-maven-plugin</artifactId>
        <version>2.9.1</version>
        <configuration>
          <name>maven-test-webapp</name>
          <adminServerHostName>******************</adminServerHostName>
          <adminServerPort>****</adminServerPort>
          <adminServerProtocol>t3</adminServerProtocol>
          <userId>******</userId>
          <password>*****</password>
          <upload>true</upload>
          <remote>true</remote>
          <verbose>true</verbose>
          <debug>true</debug>
          <targetNames>WLS_Spaces</targetNames>
          <noExit>true</noExit>
          <projectPackaging>war</projectPackaging>
        </configuration>
        <dependencies>
          <dependency>
            <groupId>com.sun</groupId>
            <artifactId>tools</artifactId>
            <version>1.6</version>
            <scope>system</scope>
            <systemPath>${java.home}/../lib/tools.jar</systemPath>
          </dependency>
          <dependency>
            <groupId>weblogic</groupId>
            <artifactId>weblogic</artifactId>
            <version>${weblogic.version}</version>
          </dependency>
          <dependency>
            <groupId>weblogic</groupId>
            <artifactId>webservices</artifactId>
            <version>${weblogic.version}</version>
          </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>
    <dependency>
      <groupId>weblogic</groupId>
      <artifactId>javax.mail</artifactId>
      <version>10.3</version>
    </dependency>
        </dependencies>
      </plugin>
    </plugins>
    <finalName>maven-test-webapp</finalName>
  </build>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.codehaus.mojo</groupId>
      <artifactId>weblogic-maven-plugin</artifactId>
      <version>2.9.1</version>
    </dependency>
  </dependencies>


<distributionManagement>
  <!-- use the following if you're not using a snapshot version. -->
  <repository>
    <id>internal</id>
    <name>Archiva Managed Internal Repository</name>
    <url>http://localhost:8180/archiva/repository/internal&lt;/url&gt;
  </repository>
  <!-- use the following if you ARE using a snapshot version. -->
  <snapshotRepository>
    <id>snapshots</id>
    <name>Archiva Managed Snapshot Repository</name>
    <url>http://localhost:8180/archiva/repository/snapshots&lt;/url&gt;
  </snapshotRepository>
</distributionManagement>  

</project>

All the dependencies are already resolved properly, as they are in the local archiva repository.

The application does not contain any web-service, being just a "hello world" application. Complete tree after executing maven install is:

C:.
│   pom.xml
│
├───src
│   └───main
│       ├───resources
│       └───webapp
│           │   index.jsp
│           │
│           └───WEB-INF
│                   web.xml
│
└───target
    │   maven-test-webapp.war
    │
    ├───classes
    ├───maven-archiver
    │       pom.properties
    │
    ├───maven-test-webapp
    │   │   index.jsp
    │   │
    │   ├───META-INF
    │   └───WEB-INF
    │       │   web.xml
    │       │
    │       ├───classes
    │       └───lib
    │               ant-1.6.5.jar
    │               maven-artifact-2.0.jar
    │               maven-plugin-api-2.0.jar
    │               plexus-utils-1.0.4.jar
    │               weblogic-10.3.jar
    │               weblogic-maven-plugin-2.9.1.jar
    │               webservices-10.3.jar
    │
    └───war
        └───work
                webapp-cache.xml

The error I get is:

[BasicOperation.execute():423] : Initiating deploy operation for app, maven-test-webapp, on targets:
[BasicOperation.execute():425] :    WLS_Spaces
Task 14 initiated: [Deployer:149026]deploy application maven-test-webapp on WLS_Spaces.
dumping Exception stack
Task 14 failed: [Deployer:149026]deploy application maven-test-webapp on WLS_Spaces.
Target state: deploy failed on Server WLS_Spaces
weblogic.wsee.ws.WsException: When processing WebService module 'maven-test-webapp.war'.  Can't find wsdl /wsdls/wsat.wsdl
        at weblogic.wsee.deploy.WSEEWebModule.loadWsdlDefinitions(WSEEWebModule.java:159)
        at weblogic.wsee.deploy.WSEEModule.loadWsdl(WSEEModule.java:334)
        at weblogic.wsee.deploy.WSEEAnnotationProcessor.isWsdlHasPolicy(WSEEAnnotationProcessor.java:312)
        at weblogic.wsee.deploy.WSEEAnnotationProcessor.process(WSEEAnnotationProcessor.java:91)
        at weblogic.wsee.deploy.WSEEAnnotationProcessor.process(WSEEAnnotationProcessor.java:51)
        at weblogic.wsee.deploy.WSEEModule.prepare(WSEEModule.java:102)
        at weblogic.wsee.deploy.ServletDeployListener.contextPrepared(ServletDeployListener.java:26)
        at weblogic.servlet.internal.EventsManager$FireContextPreparedAction.run(EventsManager.java:503)
        at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
        at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
        at weblogic.servlet.internal.EventsManager.notifyContextPreparedEvent(EventsManager.java:162)
        at weblogic.servlet.internal.WebAppServletContext.initContextListeners(WebAppServletContext.java:1782)
        at weblogic.servlet.internal.WebAppServletContext.prepare(WebAppServletContext.java:1136)
        at weblogic.servlet.internal.HttpServer.doPostContextInit(HttpServer.java:449)
        at weblogic.servlet.internal.HttpServer.loadWebApp(HttpServer.java:424)
        at weblogic.servlet.internal.WebAppModule.registerWebApp(WebAppModule.java:924)
        at weblogic.servlet.internal.WebAppModule.prepare(WebAppModule.java:356)
        at weblogic.application.internal.flow.ScopedModuleDriver.prepare(ScopedModuleDriver.java:176)
        at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:199)
        at weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(DeploymentCallbackFlow.java:391)
        at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:83)
        at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:59)
        at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:43)
        at weblogic.application.internal.BaseDeployment$1.next(BaseDeployment.java:1221)
        at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:83)
        at weblogic.application.internal.BaseDeployment.prepare(BaseDeployment.java:367)
        at weblogic.application.internal.SingleModuleDeployment.prepare(SingleModuleDeployment.java:39)
        at weblogic.application.internal.DeploymentStateChecker.prepare(DeploymentStateChecker.java:154)
        at weblogic.deploy.internal.targetserver.AppContainerInvoker.prepare(AppContainerInvoker.java:60)
        at weblogic.deploy.internal.targetserver.operations.ActivateOperation.createAndPrepareContainer(ActivateOperation.java:207)
        at weblogic.deploy.internal.targetserver.operations.ActivateOperation.doPrepare(ActivateOperation.java:98)
        at weblogic.deploy.internal.targetserver.operations.AbstractOperation.prepare(AbstractOperation.java:217)
        at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentPrepare(DeploymentManager.java:747)
        at weblogic.deploy.internal.targetserver.DeploymentManager.prepareDeploymentList(DeploymentManager.java:1216)
        at weblogic.deploy.internal.targetserver.DeploymentManager.handlePrepare(DeploymentManager.java:250)
        at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.prepare(DeploymentServiceDispatcher.java:159)
        at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doPrepareCallback(DeploymentReceiverCallbackDeliverer.java:157)
        at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$000(DeploymentReceiverCallbackDeliverer.java:12)
        at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$1.run(DeploymentReceiverCallbackDeliverer.java:45)
        at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:516)
        at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
        at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)

Does anyone have any idea on what could the problem be?

Many thanks!

+2  A: 

I'm pretty sure you're not supposed to have the following dependencies in an "hello word" webapp:

ant-1.6.5.jar
maven-artifact-2.0.jar
maven-plugin-api-2.0.jar
plexus-utils-1.0.4.jar
weblogic-10.3.jar
weblogic-maven-plugin-2.9.1.jar
webservices-10.3.jar

I suspect weblogic to detect one of these jar (the latest?) and to treat your application as a WebService module. I would thus do some cleanup:

  • I'm not sure you need to declare the weblogic-maven-plugin as a dependency (if you do, use a provided scope, you don't want it and its dependencies in the webapp).
  • You should not package the weblogic JAR in the webapp (mark it as provided).
  • You should not package the webservices JAR in the webapp (mark it as provided).

Then, try again.

Pascal Thivent
Removing extra dependencies for the project and adding extra missing dependecies for the plugin solved the problem. Final pom.xml contains (in addition to previous version conmtents) these dependecies for the plugin:- com.bea.core.redef- com.bea.core.http.pubsubNo dependencies were needed out of the plugin, removing the original: <dependency> <groupId>org.codehaus.mojo</groupId> <artifactId>weblogic-maven-plugin</artifactId> <version>2.9.1</version> </dependency>
Marcos Carceles