首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JAXB-2 Maven插件: package-info被忽略

JAXB-2 Maven插件: package-info被忽略
EN

Stack Overflow用户
提问于 2022-03-21 09:04:01
回答 1查看 137关注 0票数 0

我的intellij中有一个模块,它有自己的maven项目结构(src/main/java,src/main/test)。在这个项目中,我编写了一个包JAXB类(java)。然后,在这个包中,通过org.codehaus.mojo:jaxb2-maven-plugin的模式目标,我通常使用我的包-info。我发现情况并非如此。当在目标输出文件夹中生成XSD时。我的约会对象仍然转换成这样的字符串:

代码语言:javascript
复制
<xs:element minOccurs="0" name="dateSSP" type="xs:string"/>

我期待像这样的dateTime类型:

代码语言:javascript
复制
<xs:element minOccurs="0" name="dateSSP" type="xs:dateTime"/>

很明显,我的包info.java文件被忽略了。但奇怪的是,当我完全构建时,不仅仅是模块,而是整个主项目(多模块项目),为这个模块生成的XSD是正确的!我在XSD中有dateTime类型。但是单独构建,生成的XSD有一个string类型。

我也不知道原因。

这里是插件的配置(basic):

代码语言:javascript
复制
<plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>jaxb2-maven-plugin</artifactId>
                <version>2.5.0</version>
                <executions>
                    <execution>
                        <id>schemagen</id>
                        <goals>
                            <goal>schemagen</goal>
                        </goals>
                    </execution>
                </executions>

                <dependencies>
                    <dependency>
                        <groupId>javax.xml.bind</groupId>
                        <artifactId>jaxb-api</artifactId>
                        <version>2.3.1</version>
                    </dependency>

                    <dependency>
                        <groupId>javax.annotation</groupId>
                        <artifactId>javax.annotation-api</artifactId>
                        <version>1.3.2</version>
                    </dependency>

                    <dependency>
                        <groupId>javax.activation</groupId>
                        <artifactId>activation</artifactId>
                        <version>1.1.1</version>
                    </dependency>
                </dependencies>
                <configuration>
                    <clearOutputDir>true</clearOutputDir>
                    <sources>
                        <source>src/main/java/com/allegoria/notariat/corpus/redaction/ro</source>
                        <source>src/main/java/com/allegoria/notariat/business</source>
                    </sources>
                    <!--<verbose>true</verbose>-->
                    <transformSchemas>
                        <transformSchema>
                            <uri>https://www.signatureparfiducial.fr/redaction</uri>
                            <toFile>corpus-redaction.xsd</toFile>
                        </transformSchema>
                    </transformSchemas>
                    <schemaSourceExcludeFilters>
                        <noAdapter implementation="org.codehaus.mojo.jaxb2.shared.filters.pattern.PatternFileFilter">
                            <patterns>
                                <pattern>Adapter\.java</pattern>
                            </patterns>
                            <patternPrefix>.*</patternPrefix>
                        </noAdapter>
                    </schemaSourceExcludeFilters>
                </configuration>

            </plugin>
EN

回答 1

Stack Overflow用户

发布于 2022-03-21 09:17:50

对不起,我的朋友;)在包-info.java中,DateAdapter类位于相关模块之外的另一个包中;它位于另一个模块中。因此,由于我只构建具有JAXB类的模块,所以DateAdapter不生成,然后被XmlAdapters忽略。

谢谢。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71555049

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档