Problema com Java ao tentar executar pycharm-community-4.5

9

Acabei de instalar o pycharm-community-4.5 no meu Ubuntu 14.04 (64 bits). Após a instalação eu corri o comando /opt/pycharm-community-4.5/bin$ ./pycharm.sh para executar pycharm mas o terminal me mostrou alguns erros como segue -

Unrecognized VM option MaxPermSize=350m
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.

Aqui está o resultado do meu java -version :

java version "1.8.0_45"
Java(TM) SE Runtime Environment (build 1.8.0_45-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode)

Como faço para corrigir isso?

    
por Abdullah Al Imran 15.05.2015 / 20:51

2 respostas

8

Abra o arquivo pycharm64.vmoptions

nano /opt/pycharm-community-4.5/bin/pycharm64.vmoptions

e adicione # no início da linha

# -XX:MaxPermSize=350m

Abra o arquivo pycharm.vmoptions

nano /opt/pycharm-community-4.5/bin/pycharm.vmoptions

e adicione # no início da linha

# -XX:MaxPermSize=250m

O suporte a MaxPermSize foi removido no Java 8.0, mas a mensagem de erro

Unrecognized VM option MaxPermSize=350m
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.

não se parece com o Oracle Java 8 ou o OpenJDK 8.

O iniciador PyCharm pycharm.sh tenta encontrar Java:

# ---------------------------------------------------------------------
# Locate a JDK installation directory which will be used to run the IDE.
# Try (in order): PYCHARM_JDK, ../jre, JDK_HOME, JAVA_HOME, "java" in PATH.
# ---------------------------------------------------------------------
if [ -n "$PYCHARM_JDK" -a -x "$PYCHARM_JDK/bin/java" ]; then
  JDK="$PYCHARM_JDK"
elif [ -x "$IDE_HOME/jre/bin/java" ] && "$IDE_HOME/jre/bin/java" -version > /dev/null 2>&1 ; then
  JDK="$IDE_HOME/jre"
elif [ -n "$JDK_HOME" -a -x "$JDK_HOME/bin/java" ]; then
  JDK="$JDK_HOME"
elif [ -n "$JAVA_HOME" -a -x "$JAVA_HOME/bin/java" ]; then
  JDK="$JAVA_HOME"
else
  JAVA_BIN_PATH='which java'
  if [ -n "$JAVA_BIN_PATH" ]; then
    if [ "$OS_TYPE" = "FreeBSD" -o "$OS_TYPE" = "MidnightBSD" ]; then
      JAVA_LOCATION='JAVAVM_DRYRUN=yes java | "$GREP" '^JAVA_HOME' | "$CUT" -c11-'
      if [ -x "$JAVA_LOCATION/bin/java" ]; then
        JDK="$JAVA_LOCATION"
      fi
    elif [ "$OS_TYPE" = "SunOS" ]; then
      JAVA_LOCATION="/usr/jdk/latest"
      if [ -x "$JAVA_LOCATION/bin/java" ]; then
        JDK="$JAVA_LOCATION"
      fi
    elif [ "$OS_TYPE" = "Darwin" ]; then
      JAVA_LOCATION='/usr/libexec/java_home'
      if [ -x "$JAVA_LOCATION/bin/java" ]; then
        JDK="$JAVA_LOCATION"
      fi
    fi

    if [ -z "$JDK" -a -x "$READLINK" -a -x "$XARGS" -a -x "$DIRNAME" ]; then
      JAVA_LOCATION='"$READLINK" -f "$JAVA_BIN_PATH"'
      case "$JAVA_LOCATION" in
        */jre/bin/java)
          JAVA_LOCATION='echo "$JAVA_LOCATION" | "$XARGS" "$DIRNAME" | "$XARGS" "$DIRNAME" | "$XARGS" "$DIRNAME"'
          if [ ! -d "$JAVA_LOCATION/bin" ]; then
            JAVA_LOCATION="$JAVA_LOCATION/jre"
          fi
          ;;
        *)
          JAVA_LOCATION='echo "$JAVA_LOCATION" | "$XARGS" "$DIRNAME" | "$XARGS" "$DIRNAME"'
          ;;
      esac
      if [ -x "$JAVA_LOCATION/bin/java" ]; then
        JDK="$JAVA_LOCATION"
      fi
    fi
  fi
fi
  1. $PYCHARM_JDK
  2. $IDE_HOME/jre/bin/java
  3. $JDK_HOME
  4. $JAVA_HOME

Verifique se você está usando a versão do Java que gostaria de usar.

    
por A.B. 15.05.2015 / 21:35
1

Olhe dentro da pasta bin da pasta do pycharm que você extraiu.

Existem arquivos chamados pycharm64.vmoptions e pycharm.vmoptions . Dentro deles, você pode excluir a linha com a opção culpado de MaxPermSize=350m .

    
por Heinz Fiedler 15.05.2015 / 23:02