5

我有一个 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 中)。我怎样才能正确地做到这一点?

4

1 回答 1

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 更好。

于 2012-11-05T21:10:39.123 回答