我正在尝试部署我的 J2EE 应用程序。在我的应用程序中,我使用了 CMP,因此需要 jbosscmp-jdbc.xml 文件。但是,当我尝试在 Jboss 中部署我的应用程序时,我得到了以下异常:
org.jboss.deployment.DeploymentException: Invalid XML:....
!/META-INF/jbosscmp-jdbc.xml; - nested throwable:
....
The content of element type "entity" must match "(ejb-name,datasource?,datasource-mapping?,create-table?,remove-table?,post-table-create?,read-only?,read-time-out?,row-locking?,pk-constraint?,read-ahead?,list-cache-max?,clean-read-ahead-on-load?,fetch-size?,table-name?,cmp-field*,load-groups?,eager-load-group?,lazy-load-groups?,query*,unknown-pk?,entity-command?,optimistic-locking?,audit?)".)
.......
Caused by: org.xml.sax.SAXParseException: The content of element type "entity" must match "....
这是jbosscmp-jdbc.xml的内容
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE jbosscmp-jdbc PUBLIC
"-//JBoss//DTD JBOSSCMP-JDBC 4.0//EN"
"http://www.jboss.org/j2ee/dtd/jbosscmp-jdbc_4_0.dtd" >
<jbosscmp-jdbc>
<defaults>
<datasource>Java:/BeansDemoDB</datasource>
<datasource-mapping>MS SQLSERVER</datasource-mapping>
<create-table>false</create-table>
</defaults>
<enterprise-beans>
<entity>
<ejb-name>TUsers</ejb-name>
<table-name>T_Users</table-name>
<cmp-field>
<field-name>username</field-name>
<column-name>username</column-name>
</cmp-field>
<cmp-field>
<field-name>password</field-name>
<column-name>password</column-name>
</cmp-field>
<cmp-field>
<field-name>role</field-name>
<column-name>role</column-name>
</cmp-field>
</entity>
<entity>
<ejb-name>TStudents</ejb-name>
<table-name>T_Students</table-name>
<abstract-schema-name>TStudents</abstract-schema-name>
<cmp-field>
<field-name>studentID</field-name>
<column-name>studentID</column-name>
</cmp-field>
<cmp-field>
<field-name>studentName</field-name>
<column-name>studentName</column-name>
</cmp-field>
</entity>
</enterprise-beans>
</jbosscmp-jdbc>
我曾尝试在 Jboss 4 和 5 中进行部署,但遇到了同样的错误。曾尝试用谷歌搜索,但没有运气。我的 jbosscmp-jdbc.xml 有什么问题?