我创建了一个自定义 Spring 命名空间。就正确部署等而言,它工作正常,但 Intellij 没有验证tool:expected-type
bean 引用上的注释(即我可以引用任何类型的 bean,并且 Intellij 没有按应有的红色突出显示该属性),也没有提供这些引用的任何自动完成。
其他tool
功能似乎工作正常,例如tool:exports
.
Intellij 识别我的模式,并提供除预期类型参考之外的所有其他自动完成功能。
选择命令时,Intellij 还成功地将自定义元素解析为各种所需的 bean Parse custom bean
。
这是我想要的精简版,但这是我目前正在尝试的:
<xsd:element name="routed-channel">
<xsd:annotation>
<xsd:appinfo>
<tool:annotation>
<!-- This part works - other bean refs that require a MessageChannel can reference this channel -->
<tool:exports type="org.springframework.integration.core.MessageChannel" />
</tool:annotation>
</xsd:appinfo>
</xsd:annotation>
<xsd:complexType>
<xsd:sequence>
<xsd:element name="recipient" minOccurs="1" maxOccurs="unbounded">
<xsd:complexType>
<xsd:attribute name="channel" type="xsd:string" use="required">
<xsd:annotation>
<xsd:appinfo>
<tool:annotation kind="ref">
<!-- This part does not work - IntelliJ allows a any reference here -->
<tool:expected-type type="org.springframework.integration.core.MessageChannel" />
</tool:annotation>
</xsd:appinfo>
</xsd:annotation>
</xsd:attribute>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="id" type="xsd:string" use="required"/>
</xsd:complexType>
</xsd:element>
我正在使用 IntelliJ IDEA v11.1.3。
如果任何人都可以提供一些关于可能出现问题或如何修复它的线索,那就太好了。