2013-11-21 3 views
1

프로덕션 모드에서 GWT 코드를 컴파일하려고하므로 생성 된 JavaScript 파일에 Dev 모드 코드가 없습니다. 다음과 같이 pom 파일에 내 gwt-maven-plugin에 맞는 프로덕션 모드를 설정합니다. 하지만, 나는 여전히 호스트 된 모드 코드를 생성합니다. maven을 사용하여 프로덕션 모드에서 컴파일하려면 어떻게해야합니까? 내 pom 파일이나 * .gwt.xml 파일 또는 다른 곳에 설정할 수있는 플래그/속성이 있습니까?maven을 사용하여 프로덕션 모드에서 GWT 코드를 컴파일하는 방법이 있습니까

 <!-- Compile Using GWT --> 

     <plugin> 

      <groupId>org.codehaus.mojo</groupId> 

      <artifactId>gwt-maven-plugin</artifactId> 

      <version>2.5.1</version> 

      <executions> 

       <execution> 

        <goals> 

         <goal>compile</goal> 

        </goals> 

        <configuration> 

        <productionMode>true</productionMode> 

         <classifier>war</classifier> 

         <warSourceDirectory>src/main/webapp</warSourceDirectory> 

         <webappDirectory>war</webappDirectory> 

         <module>${Module.name}</module> 

         <extraJvmArgs>${gwt.extraJvmArgs}</extraJvmArgs> 

        </configuration> 

       </execution> 

      </executions> 

     </plugin> 

나는 GWT 예에서 생산 컴파일하기 위해 Ant를 사용하는 것을 알 수있다. 프로덕션 모드로 컴파일 할 때 다음은 build.xml 파일에서 호출됩니다. 괭이, 내가 이렇게 할까? 이것이 개미에 특화된 것이라면, 기존의 maven 구조를 변경하지 않고 Maven에 Ant를 사용하는 예제가 있습니까?

<java failonerror="true" fork="true" classname="com.google.gwt.dev.Compiler"> 

    <classpath> 

    <pathelement location="src"/> 

    <path refid="project.class.path"/> 

    <pathelement location="../../validation-api-1.0.0.GA.jar" /> 

    <pathelement location="../../validation-api-1.0.0.GA-sources.jar" /> 

    </classpath> 

    <!-- add jvmarg -Xss16M or similar if you see a StackOverflowError --> 

    <jvmarg value="-Xmx256M"/> 

    <arg line="-war"/> 

    <arg value="war"/> 

    <!-- Additional arguments like -style PRETTY or -logLevel DEBUG --> 

    <arg line="${gwt.args}"/> 

    <arg value="com.google.gwt.sample.hello.Hello"/> 

</java> 

답변

0

Maven은 그것을 컴파일 잘 - 당신은 phase 태그를 누락 있도록 그 실행을 위해 떨어져 건데 예?

goals 블록 앞뒤에 <phase>prepare-package</phase>을 추가 한 다음 일반 maven 설치 - war 파일을 빌드하기 전에 gwt : compile을 실행해야합니다.

+0

답장을 보내 주셔서 감사합니다. 목표의 전후에 준비 패키지을 추가하고 mvn을 새로 설치했지만 dev 모드로 계속 컴파일합니다. 내가 뭘 하려는지 "isHostedMode"메서드는 내 프로덕션 JS 파일에서 GWT dev 모드 컴파일에 의해 생성 된 제거하는 것입니다. "isHostedMode"메소드는 프로덕션 코드에 있어서는 안됩니다. –

+1

실제로는 사실이 아닙니다. 항상 프로덕션 사이트에 배포 할 때 dev/hosted 모드를 실행하여 버그를 추적해야만하는 경우 버그를 추적 할 수 있습니다. 다른 사람들은 컴퓨터에 실제 Java 소스 코드가 설정되어 있지 않으면 dev 모드를 실행할 수 없으므로 누군가 dev 모드를 사용하여 프로젝트를 분해 할 위험이 없습니다. –

관련 문제