2012-11-05 3 views
4

생성 된 클래스 (JAXB에서 생성)가있는 EJB-maven-Project가 있습니다. 이것은 않습니다maven-ejb-plugin : 생성 된 소스 포함

 <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> 

: 나는 그들 (즉, 자신의 compilated 클래스) 클라이언트 항아리에 포함되는 그런 일을 할 받는다는 - EJB-플러그인, target/generated-sources/jaxb/

지금 : 그들은으로 생성됩니다 작동하지 않으면, 생성 된 클래스는 ejb-client-jar의 일부가 아닙니다. (그들은 ejb-jar에 있지만). 어떻게해야 제대로 할 수 있습니까?

답변

0

병에 소스를 포함시키는 것은 좋은 해결책이 아닙니다.

당신 수도 당신 자원 위치에 생성 된 소스를 추가 한 다음 생성, 소스 플러그인을 사용하므로 유물-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> 

라고 .

+0

죄송합니다. 충분히 정확하지 않았습니다. 당연히 나는 소스 (물론 다른 문제)가 아니라 내 생성 된 소스의 컴파일 된 클래스를 wan't하지 마라. 이러한 클래스는 자동으로'authorization-ejb-0.0.1-SNAPSHOT.jar'에 포함되어 있습니다. - 그러나 내'authorization-ejb-0.0.1-SNAPSHOT-client.jar'에는 포함되지 않습니다. –

+0

해결 방법 : http : //mojo.codehaus.org/jaxb2-maven-plugin/xjc-mojo.html 코드를 일반적인 src-location, 즉'src/main/java'에 생성하여''로 포함 시키자. maven-ejb-plugin. –

+0

아마도 도움이 될 것입니다 : http://stackoverflow.com/questions/8587353/maven-how-to-handle-generated-sources-for-testonly?rq=1 –

관련 문제