カスタム Spring 名前空間を作成しました。適切にデプロイされている場合などは問題なく動作しますが、Intellij はtool:expected-type
Bean 参照の注釈を検証していません (つまり、任意のタイプの Bean を参照でき、Intellij は属性を赤で強調表示しません)。これらの参照のオートコンプリート。
などの他のtool
機能は正常に動作しているようですtool:exports
。
Intellij は私のスキーマを認識し、期待される型の参照以外のすべてのオートコンプリート機能を提供します。
Intellij は、Parse custom bean
コマンドを選択するときに、カスタム要素をさまざまな目的の 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 を使用しています。
何が間違っているのか、またはどのように修正できるのかについて、誰かが何らかの手がかりを提供できれば、それは素晴らしいことです.