簡體   English   中英

如何更改用於從XSD(JAXB)生成Java的默認目錄

[英]How to change default directory for generating Java from XSD (JAXB)

我有一個manve項目,並且我正在使用JAXB2插件從XSD模式生成Java類。 默認情況下,這些類是在目標文件夾中生成的,但是我需要在src / main / java文件夾中生成它。

我嘗試添加line屬性generateDirectory。 這些類在我想要的位置生成,但是我無法在其他地方導入它們

這是我的pom.xml:

        <plugin>
            <groupId>org.jvnet.jaxb2.maven2</groupId>
            <artifactId>maven-jaxb2-plugin</artifactId>
            <version>0.13.1</version>
            <configuration>
                <schemaDirectory>src/main/resources/schemas</schemaDirectory>
                <generateDirectory>src/main/java/com/evol/foo/generated-bar-sources</generateDirectory>
            </configuration>
            <executions>
                <execution>
                    <goals>
                        <goal>generate</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>

而我的java類使用生成的文件:

package com.evol.foo.service;
import com.evol.foo.generated-bar-sources; //error: cannot resolve symbol generated

@Component
public class XMLParserService {

  //ComplexType cannot be found
  public ComplexType parseErrorFile(String filePath) throws JAXBException {
    File file = new File(filePath);
    JAXBContext jaxbContext = JAXBContext.newInstance(ComplexType.class);

    Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
    ComplexType errFile = (ComplexType) 
    jaxbUnmarshaller.unmarshal(file);
    return errFile;
  }

我正在使用Intellij Comunity和Java8。我在做什么錯?

我認為該包應該使用generatePackagegenerateDirectory外部聲明:

<plugin>
    <groupId>org.jvnet.jaxb2.maven2</groupId>
    <artifactId>maven-jaxb2-plugin</artifactId>
    <version>0.13.1</version>
    <configuration>
        <schemaDirectory>src/main/resources/schemas</schemaDirectory>
        <generateDirectory>src/main/java</generateDirectory>
        <generatePackage>com.evol.foo.generated-bar-sources</generatePackage>
    </configuration>
    <executions>
        <execution>
            <goals>
                <goal>generate</goal>
            </goals>
        </execution>
    </executions>
</plugin>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM