maven-ejb-plugin:包含生成的源

时间:2012-11-05 17:05:23

标签: maven

我有一个EJB-maven-Project,它有一些生成的类(由JAXB生成)。 它们生成为:target/generated-sources/jaxb/

现在,使用maven-ejb-plugin,我希望将它们(即它们的编译类)包含在客户端jar中,类似于:

       <plugin>
            <artifactId>maven-ejb-plugin</artifactId>
            <version>2.3</version>
            <configuration>
                <!-- Tell Maven we are using EJB 3.1 -->
                <ejbVersion>3.1</ejbVersion>
                <generateClient>true</generateClient>
                <clientIncludes>
                    <clientInclude>com/bla/ch/authorization/client/**</clientInclude>
                    <clientInclude>target/generated-sources/jaxb/**</clientInclude>
                </clientIncludes>
            </configuration>
        </plugin>

这不起作用,生成的类不是ejb-client-jar的一部分。 (虽然他们在ejb-jar中)。 我该怎么做才能正确?

1 个答案:

答案 0 :(得分:0)

在你的jar中包含资源可能不是一个好的解决方案。

您可以在资源位置添加生成的源,然后使用source-plugin生成所谓的artifact-sources.jar

<resources>
    <resource>
        <directory>${basedir}/target/generated-sources</directory>
        <filtering>true</filtering>
    </resource>
</resources>
     [...]
<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-source-plugin</artifactId>
            <executions>
                <execution>
                    <id>attach-sources</id>
                    <goals>
                        <goal>jar</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

这比制作包含源代码的jar更好。