生成的EAR文件的Maven部署WebLogic服务器的过程中失败(Maven generated

2019-10-20 14:33发布

我使用JDeveloper 12.1.2.0.0与Oracle WebLogic Server。 Java版本是1.7.0_15。 我有基于Oracle ADF的一个项目。 我必须mavenize它。 首先,我点击部署应用程序EAR文件创建并在服务器上运作良好。 在我的应用程序有模型和ViewController项目。 为了mavenize我刚刚创建的Maven POM项目的每一个项目,最后把应用程序POM到应用程序。 最终产品应该是耳文件来部署与管理控制台远程服务器上,所以我改性一点应用POM(除去Model和ViewController模块,然后我可以在包装从POM更改为耳)。 当我Maven的安装所有的建设已圆满结束。 在部署ear文件到WebLogic Server我

java.lang.ClassNotFoundException: org.apache.myfaces.trinidad.webapp.ResourceServlet

我添加这些行到我的ViewController的pom.xml:

<dependency>
    <groupId>org.apache.myfaces.core</groupId>
    <artifactId>myfaces-api</artifactId>
    <version>2.2.4</version>
</dependency>
<dependency>
    <groupId>org.apache.myfaces.core</groupId>
    <artifactId>myfaces-impl</artifactId>
    <version>2.2.4</version>
</dependency>

再次部署我得到这个错误并没有知道该怎么做:

Caused by: java.lang.NullPointerException
at weblogic.servlet.internal.WebAnnotationProcessor.processMultipartConfigAnnotation(WebAnnotationProcessor.java:286)
at weblogic.servlet.internal.AnnotationProcessingManager.processAnnotationForClasses(AnnotationProcessingManager.java:169)
at weblogic.servlet.internal.AnnotationProcessingManager.processAnnotations(AnnotationProcessingManager.java:114)
at weblogic.servlet.internal.AnnotationProcessingManager.processAnnotationsOutsideWebFragment(AnnotationProcessingManager.java:141)
at weblogic.servlet.internal.AnnotationProcessingManager.processAnnotations(AnnotationProcessingManager.java:102)
at weblogic.servlet.internal.AnnotationProcessingManager.processAnnotations(AnnotationProcessingManager.java:79)
at weblogic.servlet.tools.WARModule.processAnnotations(WARModule.java:491)
at weblogic.servlet.tools.WARModule.processAnnotations(WARModule.java:578)
at weblogic.servlet.tools.WARModule.merge(WARModule.java:526)
at weblogic.application.compiler.ToolsModuleWrapper.merge(ToolsModuleWrapper.java:96)
at weblogic.application.utils.CustomModuleManager.merge(CustomModuleManager.java:78)
at weblogic.application.compiler.flow.MergeModuleFlow.compile(MergeModuleFlow.java:38)
at weblogic.application.compiler.FlowDriver$FlowStateChange.next(FlowDriver.java:70)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:42)
at weblogic.application.compiler.FlowDriver.nextState(FlowDriver.java:37)
at weblogic.application.compiler.BaseMerger.merge(BaseMerger.java:20)
at weblogic.application.compiler.flow.AppMergerFlow.mergeInput(AppMergerFlow.java:75)
at weblogic.application.compiler.flow.AppMergerFlow.compile(AppMergerFlow.java:40)
at weblogic.application.compiler.FlowDriver$FlowStateChange.next(FlowDriver.java:70)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:42)
at weblogic.application.compiler.FlowDriver.nextState(FlowDriver.java:37)
... 75 more

顺便说我比较了部署(右键单击应用程序 - >部署)和Maven的耳朵文件创建。 我发现了一些差异:Maven的生成EAR文件包含型号-1.0-SNAPSHOT.jar在WEB-INF \ lib中\ altough部署得到了在WEB-INF \ Classes下潜行项目的类文件。

反正当我更新的第一个Maven后的pom.xml的依赖条件部分安装没有任何反应(它增加了新的依赖条件,但如果我的Maven后删除其中的一些安装它包含了他们。?行家清洁套装?)。

任何帮助将高度赞赏。

Answer 1:

为了解决这个问题,我曾经在我的web层的pom.xml如下:

<dependency>
            <groupId>com.sun.faces</groupId>
            <artifactId>jsf-api</artifactId>
            <version>2.2.13</version>
    </dependency>
    <dependency>
            <groupId>com.sun.faces</groupId>
            <artifactId>jsf-impl</artifactId>
            <version>2.2.13</version>
    </dependency>
    <dependency>
            <groupId>javax.el</groupId>
            <artifactId>el-api</artifactId>
            <version>2.2</version>
    </dependency>
    <dependency>
            <groupId>org.glassfish.web</groupId>
            <artifactId>el-impl</artifactId>
            <version>2.2</version>
    </dependency>
    <dependency>
            <groupId>javax.el</groupId>
            <artifactId>javax.el-api</artifactId>
            <version>2.2.1</version>
    </dependency>
    <dependency>
            <groupId>javax.faces</groupId>
            <artifactId>javax.faces-api</artifactId>
            <version>2.2</version>
    </dependency>

和下面的weblogic-application.xml中:

<?xml version="1.0" encoding="UTF-8"?>
<weblogic-application
    xmlns:wls="http://xmlns.oracle.com/weblogic/weblogic-application"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/javaee_5.xsd
        http://xmlns.oracle.com/weblogic/weblogic-application http://xmlns.oracle.com/weblogic/weblogic-application/1.4/weblogic-application.xsd">

    <prefer-application-packages>
            <package-name>javax.el.*</package-name>
            <package-name>javax.faces.*</package-name>
            <package-name>com.sun.el.*</package-name>
            <package-name>com.sun.faces.*</package-name>
            <package-name>com.bea.faces.*</package-name>
        </prefer-application-packages>

        <prefer-application-resources>
            <resource-name>META-INF/services/javax.servlet.ServletContainerInitializer</resource-name>
            <resource-name>META-INF/services/com.sun.faces.*</resource-name>
        </prefer-application-resources>

</weblogic-application>

还有在这个岗位更多的细节: 部署JSF 2.2到WebLogic 12.1.3



文章来源: Maven generated ear file fails during deploying weblogic server