2014-10-31 7 views
1

maven을 사용하여 그루비 프로젝트를 만들려고합니다. 포장 유형은 전쟁 파일입니다. 메이븐 (Maven)은 프로젝트를 빌드하고 모든 종속 라이브러리를 WEB-INF/lib 폴더에두고 있지만 모든 코드를 클래스 파일로 컴파일하고 WEB-INF/classes 폴더에 넣습니다. 내 프로젝트에 jar 파일을 빌드하고 WEB-INF/lib 폴더에 넣으라고 maven에게 말할 수있는 방법이 있습니까?maven - jar 파일을 컴파일하는 방법 .class가 아닌.

내 pom.xml 파일은 다음과 같습니다 : 일반적인 접근 방식은 당신입니다 이러한 시나리오에서

<groupId>com.myproject</groupId> 
<artifactId>ExampleProject</artifactId> 
<version>1.0.0-SNAPSHOT</version> 
<packaging>war</packaging> 
<name>My Example Project</name> 
<url>http://maven.apache.org</url> 
<dependencies> 

... 
... 
... 
</dependencies> 
<build> 
    <resources> 
     <resource> 
      <directory>${basedir}/src/main/groovy</directory> 
      <excludes> 
       <exclude>**/*.groovy</exclude> 
      </excludes> 
     </resource> 
     <resource> 
      <directory>${basedir}/src/main/resources</directory> 
     </resource> 
    </resources> 
    <plugins> 
     <plugin> 
      <groupId>org.codehaus.mojo</groupId> 
      <artifactId>build-helper-maven-plugin</artifactId> 
      <version>1.5</version> 
      <executions> 
       <execution> 
        <id>add-source</id> 
        <phase>generate-sources</phase> 
        <goals> 
         <goal>add-source</goal> 
        </goals> 
        <configuration> 
         <sources> 
          <source>src/main/groovy</source> 
          <source>src/main/resources</source> 
         </sources> 
        </configuration> 
       </execution> 
       <execution> 
        <id>add-test-source</id> 
        <phase>generate-test-sources</phase> 
        <goals> 
         <goal>add-test-source</goal> 
        </goals> 
        <configuration> 
         <sources> 
          <source>src/test/groovy</source> 
          <source>src/test/resources</source> 
         </sources> 
        </configuration> 
       </execution> 
      </executions> 
     </plugin> 
    </plugins> 
    <finalName>master</finalName> 
</build> 

답변

1

이 전쟁 모듈에서 종속 될 것입니다 다른 모듈 라이브러리 코드를 분리합니다. 이 제안에 대해서는 how to generate jar and war both in project을 참조하십시오. 당신은 아직도 당신이 언급 솔루션으로 이동하는 것을 선호하는 경우

<configuration> 
    .. 
    <attachClasses>true</attachClasses> 
    <archiveClasses>true</archiveClasses> 
</configuration> 

(http://maven.apache.org/plugins/maven-war-plugin/war-mojo.html를보고, how to use class file from another war)

그러나, 당신은 당신의 치어에 다음과 같은 구성으로 작업을 수행 할 수 있습니다