Неверный размер кучи: откуда он берется? - PullRequest
0 голосов
/ 05 июля 2011

Выполнение одной из задач ant, которая запускает mxmlc (которая в свою очередь использует JVM). Я получаю следующий вывод:

build-swf:
     [exec] Current OS is Linux
     [exec] Executing '/usr/local/flex_sdk_3/bin/mxmlc' with arguments:
     [exec] '/home/user/dev/branch/flash/FLA/layer.as'
     [exec] '-output'
     [exec] '/home/user/dev/branch/flash/bin-release/layer.swf'
     [exec] '-compiler.source-path'
     [exec] '/home/user/dev/branch/flash/FLA'
     [exec] '-compiler.library-path'
     [exec] '/usr/local/flex_sdk_3/frameworks/libs'
     [exec] '-default-background-color=0xFFFFFF'
     [exec] '-locale'
     [exec] 'en_US'
     [exec] '-compiler.library-path'
     [exec] '/usr/local/flex_sdk_3/frameworks/locale/en_US'
     [exec] '-incremental'
     [exec] '-optimize=true'
     [exec] '-target-player=10'
     [exec] '-use-network=true'
     [exec] '-warnings=false'
     [exec] '-define=CONFIG::commercial,false'
     [exec] 
     [exec] The ' characters around the executable and arguments are
     [exec] not part of the command.
     [exec] Invalid maximum heap size: -Xmx384m -Dsun.io.useCanonCaches=false
     [exec] Could not create the Java virtual machine.

Посмотрев на сообщение об ошибке, я понял, что размер кучи для jvm был установлен неправильно. Пытался проверить мои переменные окружения с помощью grep -ing "384" или "java", но ничего не получил. Откуда эти параметры взяты?

1 Ответ

0 голосов
/ 05 июля 2011

Число взято из самого сценария mxmlc (mxmlc на самом деле является сценарием оболочки):

# don't use $FLEX_HOME in this variable because it may contain spaces,
# instead put it on the java args directly, with double-quotes around it
VMARGS="-Xmx384m -Dsun.io.useCanonCaches=false"

java $VMARGS -jar "$FLEX_HOME/lib/mxmlc.jar" +flexlib="$FLEX_HOME/frameworks" "$@"

Я не уверен, почему вы получите неверный максимальный размер кучи.Похоже, что вся переменная $ VMARGS передается как одна переменная.Какую оболочку вы используете?

...