Eclipse 将多模块POM项目(EAR)部署到WTP时发生ClassNotFoundException

Eclipse 将多模块POM项目(EAR)部署到WTP时发生ClassNotFoundException,eclipse,maven,ear,pom.xml,eclipse-wtp,Eclipse,Maven,Ear,Pom.xml,Eclipse Wtp,Eclipse版本:Indigo 目标应用服务器:Weblogic 10.3.5(11gR1) 我在Eclipse中构建和部署多模块POM项目(打包为EAR)到WebLogic服务器时遇到问题 尽管父POM在IDE之外成功构建了EAR文件,但在尝试将UI WAR部署到应用程序服务器时,我收到了以下错误: java.lang.Exception: Exception received from deployment driver. See Error Log view for more detai

Eclipse版本:Indigo

目标应用服务器:Weblogic 10.3.5(11gR1)

我在Eclipse中构建和部署多模块POM项目(打包为EAR)到WebLogic服务器时遇到问题

尽管父POM在IDE之外成功构建了EAR文件,但在尝试将UI WAR部署到应用程序服务器时,我收到了以下错误:

java.lang.Exception: Exception received from deployment driver. See Error Log view for more detail.
    at oracle.eclipse.tools.weblogic.server.internal.DeploymentProgressListener.watch(DeploymentProgressListener.java:190)
    at oracle.eclipse.tools.weblogic.server.internal.WlsJ2EEDeploymentHelper.deploy(WlsJ2EEDeploymentHelper.java:486)
    at oracle.eclipse.tools.weblogic.server.internal.WeblogicServerBehaviour.publishWeblogicModules(WeblogicServerBehaviour.java:1466)
    at oracle.eclipse.tools.weblogic.server.internal.WeblogicServerBehaviour.publishToServer(WeblogicServerBehaviour.java:898)
    at oracle.eclipse.tools.weblogic.server.internal.WeblogicServerBehaviour.publishOnce(WeblogicServerBehaviour.java:686)
    at oracle.eclipse.tools.weblogic.server.internal.WeblogicServerBehaviour.publish(WeblogicServerBehaviour.java:539)
    at org.eclipse.wst.server.core.model.ServerBehaviourDelegate.publish(ServerBehaviourDelegate.java:774)
    at org.eclipse.wst.server.core.internal.Server.publishImpl(Server.java:3027)
    at org.eclipse.wst.server.core.internal.Server$PublishJob.run(Server.java:341)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
Caused by: weblogic.application.ModuleException: Failed to load webapp: 'lerp-ui'
    at weblogic.servlet.internal.WebAppModule.prepare(WebAppModule.java:393)
    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:517)
    at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)
    at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:159)
    at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:45)
    at weblogic.application.internal.BaseDeployment$1.next(BaseDeployment.java:613)
    at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)
    at weblogic.application.internal.BaseDeployment.prepare(BaseDeployment.java:184)
    at weblogic.application.internal.EarDeployment.prepare(EarDeployment.java:58)
    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:171)
    at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$000(DeploymentReceiverCallbackDeliverer.java:13)
    at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$1.run(DeploymentReceiverCallbackDeliverer.java:46)
    at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:528)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
Caused by: java.lang.ClassNotFoundException: javax.faces.webapp.FacesServlet

    at weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:297)
    at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:270)
    at weblogic.utils.classloaders.ChangeAwareClassLoader.findClass(ChangeAwareClassLoader.java:64)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:305)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:246)
    at weblogic.utils.classloaders.GenericClassLoader.loadClass(GenericClassLoader.java:179)
    at weblogic.utils.classloaders.ChangeAwareClassLoader.loadClass(ChangeAwareClassLoader.java:43)
    at weblogic.servlet.internal.WebAnnotationProcessorImpl.processServlets(WebAnnotationProcessorImpl.java:225)
    at weblogic.servlet.internal.WebAnnotationProcessorImpl.processJ2eeAnnotations(WebAnnotationProcessorImpl.java:209)
    at weblogic.servlet.internal.WebAnnotationProcessorImpl.processAnnotations(WebAnnotationProcessorImpl.java:105)
    at weblogic.servlet.internal.WebAppServletContext.processAnnotations(WebAppServletContext.java:1368)
    at weblogic.servlet.internal.WebAppServletContext.<init>(WebAppServletContext.java:449)
    at weblogic.servlet.internal.WebAppServletContext.<init>(WebAppServletContext.java:493)
    at weblogic.servlet.internal.HttpServer.loadWebApp(HttpServer.java:418)
    at weblogic.servlet.internal.WebAppModule.registerWebApp(WebAppModule.java:972)
    at weblogic.servlet.internal.WebAppModule.prepare(WebAppModule.java:382)
java.lang.Exception:从部署驱动程序接收到异常。有关详细信息,请参阅错误日志视图。
位于oracle.eclipse.tools.weblogic.server.internal.DeploymentProgressListener.watch(DeploymentProgressListener.java:190)
位于oracle.eclipse.tools.weblogic.server.internal.WlsJ2EEDeploymentHelper.deploy(WlsJ2EEDeploymentHelper.java:486)
位于oracle.eclipse.tools.weblogic.server.internal.weblogicserverbehavior.publishWeblogicModules(weblogicserverbehavior.java:1466)
位于oracle.eclipse.tools.weblogic.server.internal.weblogicserverbehavior.publishToServer(weblogicserverbehavior.java:898)
位于oracle.eclipse.tools.weblogic.server.internal.weblogicserverbehavior.publishOnce(weblogicserverbehavior.java:686)
位于oracle.eclipse.tools.weblogic.server.internal.weblogicserverbehavior.publish(weblogicserverbehavior.java:539)
位于org.eclipse.wst.server.core.model.ServerBehaviorDelegate.publish(serverBehaviorDelegate.java:774)
位于org.eclipse.wst.server.core.internal.server.publishImpl(server.java:3027)
位于org.eclipse.wst.server.core.internal.server$PublishJob.run(server.java:341)
位于org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
原因:weblogic.application.ModuleException:未能加载webapp:“lerp ui”
位于weblogic.servlet.internal.WebAppModule.prepare(WebAppModule.java:393)
在weblogic.application.internal.flow.ScopedModuleDriver.prepare(ScopedModuleDriver.java:176)中
在weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:199)
位于weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(DeploymentCallbackFlow.java:517)
位于weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)
位于weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:159)
位于weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:45)
位于weblogic.application.internal.BaseDeployment$1.next(BaseDeployment.java:613)
位于weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)
位于weblogic.application.internal.BaseDeployment.prepare(BaseDeployment.java:184)
位于weblogic.application.internal.EarDeployment.prepare(EarDeployment.java:58)
位于weblogic.application.internal.DeploymentStateChecker.prepare(DeploymentStateChecker.java:154)
位于weblogic.deploy.internal.targetserver.AppContainerInvoker.prepare(AppContainerInvoker.java:60)
在weblogic.deploy.internal.targetserver.operations.ActivateOperation.createAndPrepareContainer(ActivateOperation.java:207)中
在weblogic.deploy.internal.targetserver.operations.ActivateOperation.doPrepare(ActivateOperation.java:98)中
在weblogic.deploy.internal.targetserver.operations.AbstractOperation.prepare(AbstractOperation.java:217)中
位于weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentPrepare(DeploymentManager.java:747)
在weblogic.deploy.internal.targetserver.DeploymentManager.prepareDeploymentList(DeploymentManager.java:1216)中
位于weblogic.deploy.internal.targetserver.DeploymentManager.handlePrepare(DeploymentManager.java:250)
位于weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.prepare(DeploymentServiceDispatcher.java:159)
位于weblogic.deploy.service.internal.targetserver.deploymentReceiverCallbackDeliver.doPrepareCallback(deploymentReceiverCallbackDeliver.java:171)
在weblogic.deploy.service.internal.targetserver.deploymentReceiverCallbackDeliver.access$000(deploymentReceiverCallbackDeliver.java:13)
在weblogic.deploy.service.internal.targetserver.deploymentReceiverCallbackDeliver$1.run(deploymentReceiverCallbackDeliver.java:46)
在weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:528)
在weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
在weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
原因:java.lang.ClassNotFoundException:javax.faces.webapp.FacesServlet
在weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:297)
在weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:270)
在weblogic.utils.classloaders.ChangeAwareClassLoader.findClass(ChangeAwareClassLoader.java:64)
位于java.lang.ClassLoader.loadClass(ClassLoader.java:305)
位于java.lang.ClassLoader.loadClass(ClassLoader.java:246)
位于weblogic.utils.classloaders.GenericClassLoader.loadClass(GenericClassLoader.java:179)
在weblogic.utils.classloaders.ChangeAwareClassLoader.loadClass(ChangeAwareClassLoader.java:43)
位于weblogic.servlet.internal.WebAnnotationProcessorImpl.processServlets(WebAnnotationProcessorImpl.java:225)
在weblogic.servlet.internal.WebAnnotationProcessorImpl.processJ2eeAnnotations(WebAnnotationProcessorImpl.java:209)上
在weblogic.servlet.internal.WebAnnotationProcessorImpl.processAnnotations(WebAnnotationProcessorImpl.java:105)
位于weblogic.servlet.internal.WebAppServletContext.processAnnotations(WebAppServletContext.java:1368)
位于weblogic.servlet.internal.WebAppServletContext。(WebAppServletContext.java:449)
位于weblogic.servlet.internal.WebAppServletContext。(WebAppServletContext.java:493)
位于weblogic.servlet.internal.HttpServer.loadWebApp(HttpServer.java:418)
位于weblogic.servlet.internal.WebAppModule.registerWebApp(WebAppModule.java:972)
位于weblogic.servlet.internal.WebAppModu
<dependency>
            <groupId>javax.faces</groupId>
            <artifactId>jsf-api</artifactId>
            <version>2.0.3</version>
        </dependency>

        <dependency>
            <groupId>com.sun.faces</groupId>
            <artifactId>jsf-impl</artifactId>
            <version>2.0.3</version>
        </dependency>
<classpathentry kind="var" path="M2_REPO/javax/faces/jsf-api/2.0.3/jsf-api-2.0.3.jar"/>
  <classpathentry kind="var" path="M2_REPO/com/sun/faces/jsf-impl/2.0.3/jsf-impl-2.0.3.jar"/>
<?xml version="1.0" encoding="UTF-8"?>
<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/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>uk.co.acme</groupId>
    <artifactId>multiModulePOMProject</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>pom</packaging>
    <name>acme troublesome project</name>


    <modules>
        <module>../../Business/common</module>
        <module>../../Business/svccom</module>
        <module>../../Business/busctl</module>
        <module>../../Client/ui</module>
        <module>../../Business/ear</module>
        <module>../../Business/talend/java/businessrules</module>
    </modules>

    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.9</version>
            <scope>test</scope>
        </dependency>
        
        <dependency>
            <groupId>org.mockito</groupId>
            <artifactId>mockito-all</artifactId>
            <version>1.9.0</version>
            <scope>test</scope>
        </dependency>

    </dependencies>

    <properties>
        
        <project.ui.version>1.0-SNAPSHOT</project.ui.version>
        <project.common.version>1.0-SNAPSHOT</project.common.version>
        <project.svccom.version>1.0-SNAPSHOT</project.svccom.version>
        <project.busctl.version>1.0-SNAPSHOT</project.busctl.version>
                        
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <webapp.filter>development</webapp.filter>
        <spring.version>3.0.5.RELEASE</spring.version>      
        <eclipselink.version>2.1.3</eclipselink.version>
        <persistence.version>2.0.0</persistence.version>
        <spring.cdi.version>1.0.0</spring.cdi.version>
        
        <weblogic.adminurl>t3://localhost:7050</weblogic.adminurl>
        <weblogic.user>weblogic</weblogic.user>
        <weblogic.password>welcome1</weblogic.password>
        <weblogic.target>acmeLocalDomain</weblogic.target>
        <weblogic.source>../../Business/ear/target/${parent.artifactId}.${packaging}</weblogic.source>              
        
    </properties>

    <profiles>
        <profile>
            <id>production</id>
            <properties>
                <webapp.filter>production</webapp.filter>
            </properties>
        </profile>
    </profiles>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-resources-plugin</artifactId>
                <version>2.4.2</version>
            </plugin>
        </plugins>
    </build>
</project>