Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何更改XML模式中类的访问修饰符_Java_Jaxb_Xjc - Fatal编程技术网

Java 如何更改XML模式中类的访问修饰符

Java 如何更改XML模式中类的访问修饰符,java,jaxb,xjc,Java,Jaxb,Xjc,我正在编写一个XML模式文件,并从中生成类。生成的类总是公共的。我想要的是让classes包只可见。这可能吗?如果是,请给我一个提示 谢谢大家! 使用wsimport时,只能生成公共类。因此,如果要对生成的文件进行包保护,那么您唯一的选择就是搜索/替换这些文件。但是,根据您希望对生成的类执行的操作,使它们受包保护可能没有意义。使用wsimport时,只能生成公共类。因此,如果要对生成的文件进行包保护,那么您唯一的选择就是搜索/替换这些文件。但是,根据您想要对生成的类执行的操作,使它们受包保护可能

我正在编写一个XML模式文件,并从中生成类。生成的类总是公共的。我想要的是让classes包只可见。这可能吗?如果是,请给我一个提示


谢谢大家!

使用wsimport时,只能生成公共类。因此,如果要对生成的文件进行包保护,那么您唯一的选择就是搜索/替换这些文件。但是,根据您希望对生成的类执行的操作,使它们受包保护可能没有意义。

使用wsimport时,只能生成公共类。因此,如果要对生成的文件进行包保护,那么您唯一的选择就是搜索/替换这些文件。但是,根据您想要对生成的类执行的操作,使它们受包保护可能没有意义。

您可以编写一个XJC插件来完成此任务:


您可以编写一个XJC插件来实现这一点:


我认为JAXB要求类是
公共的
——否则就不行了。@skaffman-JAXB不要求类是公共的。@Blaise Doughan-听起来不错。这意味着可以更改类可见性。问题解决了一半:)我认为JAXB要求类是公共的。@skaffman-JAXB不要求类是公共的。@Blaise Doughan-听起来不错。这意味着可以更改类可见性。问题解决了一半:)