我有一个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中)。 我该怎么做才能正确?
答案 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更好。