這是我的ejb-jar.xml中:ejb-jar.xml中ENV進入枚舉
<?xml version="1.0" encoding="UTF-8"?>
<ejb-jar xmlns = "http://java.sun.com/xml/ns/javaee"
version = "3.0"
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/ejb-jar_3_0.xsd">
<enterprise-beans>
<session>
<ejb-name>EmailEjb</ejb-name>
<env-entry>
<env-entry-name>java:app/env/smtp.host</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>smtp.mandrillapp.com</env-entry-value>
</env-entry>
<env-entry>
<env-entry-name>java:app/env/smtp.port</env-entry-name>
<env-entry-type>java.lang.Integer</env-entry-type>
<env-entry-value>587</env-entry-value>
</env-entry>
<env-entry>
<env-entry-name>java:app/env/smtp.transportStrategy</env-entry-name>
<env-entry-type>org.codemonkey.simplejavamail.TransportStrategy</env-entry-type>
<env-entry-value>SMTP_TLS</env-entry-value>
</env-entry>
<env-entry>
<env-entry-name>java:app/env/smtp.username</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>[email protected]</env-entry-value>
</env-entry>
<env-entry>
<env-entry-name>java:app/env/smtp.password</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>foobar</env-entry-value>
</env-entry>
</session>
</enterprise-beans>
</ejb-jar>
在部署時,我得到這個異常:
org.xml.sax.SAXParseException; lineNumber:23; columnNumber:85;部署描述符文件存檔[localgp-web-1.0-SNAPSHOT]中的WEB-INF/ejb-jar.xml。 cvc-enumeration-valid:值'org.codemonkey.simplejavamail.TransportStrategy'在枚舉方面不是facet-valid ['java.lang.Boolean,java.lang.Byte,java.lang.Character,java.lang.String ,java.lang.Short,java.lang.Integer,java.lang.Long,java.lang.Float,java.lang.Double]'。它必須是枚舉中的值。
這似乎表明,儘管the documentation,枚舉是不允許的。或者是我可能錯過的其他事情?