4

我在 java ee 中编写了项目。通过使用 java ee 版本 6。当我尝试将我的 ear 文件部署到 weblogic 10g 中时,我收到以下错误:

我怎样才能实现它?如何正确部署文件?

无法访问选定的应用程序。AppMerge 流进程中的异常 AppMerge 流进程中的异常 [J2EE:160161] 解析 1BB.ear 的应用程序描述符时出错:weblogic.descriptor.DescriptorException: Unmarshaller failed at weblogic.descriptor.internal.MarshallerFactory$1.createDescriptor(MarshallerFactory. java:152) 在 weblogic.descriptor.BasicDescriptorManager.createDescriptor(BasicDescriptorManager.java:306) 在 weblogic.application.descriptor.AbstractDescriptorLoader2.getDescriptorBeanFromReader(AbstractDescriptorLoader2.java:788) 在 weblogic.application.descriptor.AbstractDescriptorLoader2.createDescriptorBean(AbstractDescriptorLoader2.java) :409) 在 weblogic.application.descriptor.AbstractDescriptorLoader2。http://xmlns.oracle.com/weblogic/weblogic-application 在 com.bea.staxb.runtime.internal.UnmarshalResult.getPojoBindingType(UnmarshalResult.java:361) 在 com.bea.staxb.runtime.internal.UnmarshalResult.determineTypeForGlobalElement (UnmarshalResult.java:316) 在 com.bea.staxb.runtime.internal.UnmarshalResult.determineTypeForGlobalElement(UnmarshalResult.java:326) 在 com.bea.staxb.runtime.internal.UnmarshalResult.determineRootType(UnmarshalResult.java:307) 在com.bea.staxb.runtime.internal.UnmarshalResult.unmarshalDocument(UnmarshalResult.java:158) 在 com.bea.staxb.runtime.internal.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:65) 在 weblogic.descriptor.internal.MarshallerFactory $1 .createDescriptor(MarshallerFactory.java:141) ... 119 更多。

这是我的 weblogic-application.xml 文件:

    <?xml version="1.0" encoding="UTF-8"?>
<weblogic-application xmlns="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.0/weblogic-application.xsd"/>
4

3 回答 3

0

Try add 3 files to EAR:

1) META-INF\application.xml

<?xml version="1.0" encoding="ASCII"?>
<application xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:application="http://java.sun.com/xml/ns/javaee/application_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/application_5.xsd" version="5">
  <display-name>My App</display-name>
  <module>
    <ejb>appEJB.jar</ejb>
  </module>
  <module>
    <web>
      <web-uri>app.war</web-uri>
      <context-root>app</context-root>
    </web>
  </module>
</application>

2) META-INF\weblogic-application.xml

<?xml version="1.0" encoding="UTF-8"?>
<wls: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.0/weblogic-application.xsd">
    <!--weblogic-version:10.3.2-->
    <wls:application-param>
        <wls:param-name>webapp.encoding.default</wls:param-name>
        <wls:param-value>UTF-8</wls:param-value>
    </wls:application-param>
</wls:weblogic-application>

3) META-INF\MANIFEST.MF

Manifest-Version: 1.0
Class-Path: 
Weblogic-Application-Version: 1.0
于 2013-02-24T10:06:44.533 回答
0

在两种情况下可能会出现此错误,

  1. web.xml 文件已损坏
  2. web.xml 文件中缺少任何配置。
  3. web-app 标签可能未正确定义,这取决于您的项目。

在我的情况下,错误是由第一点引起的。

于 2014-03-12T12:21:23.213 回答
0

尝试保留 web.xml @WebContent 而不是 WEB-INF(如果以防万一)。这解决了我的问题。

于 2016-06-11T09:18:31.423 回答