5

私はいくつかの生成されたクラス(JAXBによって生成された)を持つEJB-maven-Projectを持っています。それらは次のように生成されます。target/generated-sources/jaxb/

ここで、maven-ejb-plugin を使用して、それら (つまり、コンパイルされたクラス) を client-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

あなたの瓶にソースを含めることはおそらく良い解決策ではありません。

生成されたソースをリソースの場所に追加してから、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 に答える