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做這個嗎?如果這是特定於ant的,是否有一個示例在Maven中使用Ant而不更改現有的Maven結構?
<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>
感謝您的回覆。我在目標前後添加了準備包 ,並且執行了mvn clean install,但仍然以dev模式編譯。我想要做的是擺脫生產JS文件中由GWT開發模式編譯生成的「isHostedMode」方法。 「isHostedMode」方法不應該存在於我的生產代碼中。 –
事實並非如此 - 它會一直存在,因此當您部署到生產站點時,如果必須,仍可以運行開發/託管模式來追蹤錯誤。除非他們在他們的計算機上設置了實際的Java源代碼,否則其他人將無法運行開發模式,因此不會有人用開發模式拆分項目的風險。 –