使用选项“-Xinject-code -extension”使用XJC + xsd + jxb插入代码
我试图使用xjc的扩展名“-Xinject-code”来为我生成的类添加一些代码。 对于以下简单的xsd架构……
..我已经关联了以下绑定:
@Override public String toString() { return this.getName();}
运行xjc会产生以下输出:
$ xjc -target 2.1 -verbose -Xinject-code -extension -d . -p generated -b test.jxb test.xsd parsing a schema... compiling a schema... [INFO] generating code unknown location generated/MyItem.java generated/MyList.java generated/ObjectFactory.java
但是’generated / MyItem.java’文件不包含新方法“toString”。 我该怎么解决这个问题? 什么是“未知位置”的消息?
注意:
$ xjc -version xjc 2.2.4
编辑:
将xsd:element更改为xsd:complexType可以完成这项工作:
和
@Override public String toString() { return this.getName();}
我现在可以看到文件“generated / MyItemType.java”中的代码
$ tail generated/MyItemType.java @Override public String toString() { return this.getName();} }
但是如何在不更改xsd文件的情况下告诉xjc生成代码?
请尝试/xs:schema/xs:element[@name='MyItem']/xs:complexType
。