2

当我尝试在 glassfish 上运行我的应用程序时,我在控制台中收到以下错误。

SEVERE: DPL8015: Invalid Deployment Descriptors in Deployment descriptor file META-INF/application.xml in archive
    " The content of element type "application" is incomplete, it must match "(icon?,display-name,description?,module+,security-role*)".

我的“application.xml”中有以下代码

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE application PUBLIC
    "-//Sun Microsystems, Inc.//DTD J2EE Application 1.3//EN"
    "http://java.sun.com/dtd/application_1_3.dtd">
<application>
  <display-name>MTCpreprint</display-name>
</application>

应该怎么做才能解决这个问题?

4

2 回答 2

3

你的布局application.xml是错误的:它必须看起来像这样:

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

   <application-name>MTCpreprint</application-name>
</application>

如果文件在每次构建时自动生成,则必须禁用此功能。如果您使用的是,maven-ear-plugin您可以禁用这样的自动生成application.xml

    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-ear-plugin</artifactId>
        <version>2.8</version>
        <configuration>
            <generateApplicationXml>false</generateApplicationXml>
        </configuration>                
    </plugin>
于 2013-11-11T15:37:30.197 回答
2

基于这部分错误消息:

it must match "(icon?,display-name,description?,module+,security-role*)"

我建议<module>...</module>元素是 XML 的必需部分。必须至少存在一个这样的元素。

  • ?– 表示可选
  • +– 表示一个或多个
  • *– 表示零个或多个
于 2013-11-11T15:26:21.630 回答