当前位置: 首页 > 知识库问答 >
问题:

Maven生成的ear文件在部署weblogic server期间失败

卢翔宇
2023-03-14

我将JDeveloper 12.1.2.0.0与Oracle Weblogic Server配合使用。Java版本为1.7.0_15。我有一个基于Oracle ADF的项目。我必须使它专业化。首先,我单击deploy,应用程序ear文件已经创建并在服务器上运行良好。在我的应用程序中,有Model和ViewController项目。为了实现mavenize,我刚刚为每个项目创建了Maven POM,最后为应用程序创建了一个应用程序POM。最终产品应该是ear文件,以部署在带有管理控制台的远程服务器上,因此我对应用程序POM进行了一些修改(删除了模型和ViewController模块,然后我可以将封装从POM更改为ear)。当我maven安装它们时,所有构建都已成功结束。在将ear文件部署到Weblogic服务器期间,我得到了

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安装后更新pom.xml中的依赖项部分时,什么都没有发生(它添加了新的依赖项,但是如果我在maven安装后删除了其中的一些,它包含它们。?maven干净包?)。

任何帮助都将不胜感激。

共有1个答案

盖高畅
2023-03-14

为了解决这个问题,我在我的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应用程序。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

 类似资料:
  • 经过几天的搜索、尝试和尝试,我把这个问题发到了SO上,尽管它似乎已经得到了答案。 这是一个场景:我有一个EAR应用程序,包含(目前)一个WAR和一个EJB模块。EJB模块使用JPA(persistence.xml)并通过Web服务公开一些无状态会话bean。web服务使用jdbc领域的基本身份验证。web模块使用相同领域的表单身份验证。 null 在我的研究过程中,我管理了以下几个方面: 我可以使

  • 我有一个模块化maven项目。在最高层,我有: 我已经尝试了我能想到的一切: 重新执行项目, 清理所有eclipse相关文件, 清理本地maven存储库, 正在清理服务器tmp文件夹并重新添加项目, 更新并安装maven 到目前为止没有任何帮助。 我有一个令人震惊的发现:我添加了一个名为“amodule”的模块。你猜怎么着,它得到了所需的罐子而其他的没有。似乎只有按字母顺序排列的第一个模块获得ja

  • 我一直试图通过管理控制台在Weblogic上部署/启动我的爆炸耳朵,但失败了,出现了以下错误: 我无法找出这些日志问题的原因。 分解后的EAR具有以下文件夹结构:1)lib目录(由JAR组成)2)META-INF目录(由应用程序组成)。xml,weblogic应用程序。xml 3)war目录-包含JSP、WEB-INF文件夹(包含weblogic.xml) 如果你需要更多的细节,请告诉我。请帮忙!

  • 我使用maven原型“org.jboss.spec.archetypes:jboss-javaee6-webapp-ear-archetype”生成代码。我启动了JBoss7,然后尝试从project root进行部署。 包装成功了。 非常感谢! 这是我打包后的项目结构(部分省略)

  • Netbeans IDE日志包含以下内容: 生成的EAR通常可以使用asadmin命令部署到Glassfish。只有当试图通过Netbeans部署它时,它才会失败。 似乎当禁用secure admin时,我可以通过NetBeans执行部署。我遇到了一些安全管理和SSL的问题。 > 我已经对其他EAR项目进行了实验(从netbeans生成了一个新的maven EAR),它将OK部署到GlassFis

  • 是否有使用Netbeans(8.0.2)在Wildfly上热部署ear文件的过程?我的当前生成过程(一个命令) 正在杀死我(每小时4/5个积木/香烟,一个积木3分钟)。 我在web上搜索了又搜索,听到人们谈论3毫秒的部署(我只能梦想),使用Netbeans“开箱即用”的热部署()以及在wildfly配置文件中向部署扫描程序添加。 但我还是没拿到。我的构建将我的部署发送到wildfly文件夹。而不是