2013-04-24 3 views
1

Я прочитал несколько других вопросов и ответов здесь, ни одна из которых, похоже, мне не помогает. Я пытаюсь построить проект mgwt, у которого будет много перестановок, поэтому настройка памяти должна быть действительно высокой.Плагин Maven Eclipse увеличил память?

Я использую maven4eclipse плагин для создания с пакетом в качестве цели, на вкладке JRE моей конфигурации запуска я поставил следующие

vm args:-Xms1024m -Xmx2048m -XX:MaxPermSize=1024m -XX:ReservedCodeCacheSize=64m 

При попытке запустить его не удается, и возвращается с этим ошибка:

[ERROR] Failed to execute goal org.codehaus.mojo:gwt-maven-plugin:2.3.0-1:compile (default) on project: Command [[ 
[ERROR] **C:\Program Files\Java\jdk1.7.0_17\jre\bin\java -Xmx512m** -classpath "..others stuff" -logLevel INFO -style OBF -war "Branch(mobile)\Project\target\Mobile-webcontent" -localWorkers 8 
[ERROR] ]] failed with status 1 
[ERROR] -> [Help 1] 

Это показывает, что аргументы, которые я установил, не используются, устанавливаю ли я его в неправильном месте?

ответ

4

Пример файла POM для GWT компиляции с параметрами, установленными для большинства вариантов GWT компилятора, включая варианты виртуальной машины Java.

<plugins> 
     <!-- GWT Maven Plugin --> 
     <plugin> 
      <groupId>org.codehaus.mojo</groupId> 
      <artifactId>gwt-maven-plugin</artifactId> 
      <dependencies> 
       <dependency> 
        <groupId>com.google.gwt</groupId> 
        <artifactId>gwt-user</artifactId> 
        <version>${gwt.version}</version> 
       </dependency> 
       <dependency> 
        <groupId>com.google.gwt</groupId> 
        <artifactId>gwt-codeserver</artifactId> 
        <version>${gwt.version}</version> 
       </dependency>     
       <dependency> 
        <groupId>com.google.gwt</groupId> 
        <artifactId>gwt-dev</artifactId> 
        <version>${gwt.version}</version> 
       </dependency> 
       <dependency> 
        <groupId>com.google.gwt</groupId> 
        <artifactId>gwt-servlet</artifactId> 
        <version>${gwt.version}</version> 
       </dependency> 
      </dependencies> 
      <!-- JS is only needed in the package phase, this speeds up testing --> 
      <executions> 
       <execution> 
        <phase>prepare-package</phase> 
        <goals> 
         <goal>compile</goal> 
        </goals> 
       </execution> 
      </executions> 
      <!-- Plugin configuration. There are many available options, see gwt-maven-plugin 
       documentation at codehaus.org --> 
      <configuration> 
       <skip>true</skip> 
       <strict>true</strict> 
       <runTarget>app.html</runTarget> 
       <!-- Turning This on after understanding soyc --> 
       <!-- https://developers.google.com/web-toolkit/articles/fragment_merging --> 
       <!-- <fragmentCount>95</fragmentCount> --> 
       <!-- Ask GWT to create the Story of Your Compile (SOYC) (gwt:compile) --> 
       <!-- Turn This on for generating soyc. This does not work if closure 
        compiler is turned on. --> 
       <compileReport>false</compileReport> 
       <compilerMetrics>false</compilerMetrics> 
       <soycDetailed>false</soycDetailed> 
       <!-- End Generating SOYC --> 
       <disableCastChecking>true</disableCastChecking> 
       <disableClassMetadata>true</disableClassMetadata> 
       <enableClosureCompiler>true</enableClosureCompiler> 
       <optimizationLevel>9</optimizationLevel> 
       <style>${gwt.style}</style> 
       <module>${gwt.module}</module> 
       <encoding>${project.build.sourceEncoding}</encoding> 
       <logLevel>INFO</logLevel> 
       <!-- ERROR, WARN, INFO, TRACE, DEBUG, SPAM, or ALL). --> 
       <copyWebapp>true</copyWebapp> 
       <hostedWebapp>${project.build.directory}/${project.artifactId}</hostedWebapp> 
       <extraJvmArgs>-Xmx4096M -Xms1024M -XX:PermSize=128m -XX:MaxPermSize=256m</extraJvmArgs> 
       <!-- <extraJvmArgs>-Xmx1024M -Xms1024m -Xss32m -XX:PermSize=64m -XX:MaxPermSize=128m -XX:+UseCompressedOops -XX:+UseConcMarkSweepGC -XX:+CMSPermGenSweepingEnabled -XX:+CMSClassUnloadingEnabled -DgeneratePom=true -XX:ReservedCodeCacheSize=128m -XX:+PrintCompilation -server</extraJvmArgs> --> 
       <extra>${project.build.directory}/gwt-extra</extra> 
       <deploy>${project.build.directory}/gwt-deploy</deploy> 
       <localWorkers>4</localWorkers> 
      </configuration> 
     </plugin> 
+0

. Моя проблема заключалась в том, что у моих localWorkers было 99 значений, которые вытаскивали настройки pom из другого проекта. Это вызвало еще большие проблемы, поскольку оно пытается зарезервировать указанную память для каждого ядра. В конечном итоге я уменьшил настройки памяти до 1024 и увеличил число рабочих мест – nmb1106

+0

, которые должны быть в идеале меньше количества ядер/потоков, которые у вас есть :) – SSR

2

gwt-maven-plugin висит JVM и не наследует настройки JVM, используемые для запуска Maven.

Если вам нужны специфические настройки виртуальной машины Java для раздвоенной JVM, вы можете установить их с помощью <extraJvmArgs> в <configuration> в gwt-maven-plugin в вашем POM, или -Dgwt.extraJvmArgs="-Xms1g -Xmx2g" в командной строке.

См http://www.mojohaus.org/gwt-maven-plugin/compile-mojo.html#extraJvmArgs

+0

Моя проблема заключалась в том, что мои местные рабочие были настроены на 99 от вытаскивания настроек pom из другого проекта. Это вызвало еще большие проблемы, поскольку оно пытается зарезервировать указанную память для каждого ядра. В конечном итоге я уменьшил настройки памяти до 1024, а localWorkers - до 6. – nmb1106

Смежные вопросы