Problema con Java al intentar ejecutar pycharm-community-4.5

9

Acabo de instalar pycharm-community-4.5 en mi Ubuntu 14.04 (64 bit). Después de la instalación, ejecuté el comando /opt/pycharm-community-4.5/bin$ ./pycharm.shpara ejecutar pycharm pero el terminal me mostró algunos errores de la siguiente manera:

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

Aquí está el resultado de mi 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)

¿Cómo lo soluciono?

Abdullah Al Imran
fuente
Java, la raíz de todo mal.
Virusboy
:( nada que hacer.
Abdullah Al Imran
La compatibilidad con MaxPermSize se eliminó en Java 8.0. Pero no puedo encontrar la entrada. La entrada pycharm.vmoptionsno parece estar funcionando. He descargado la última versión de PyCharm y funciona en Ubuntu 15.04. sin cambio
AB
¿Tienes un Java en la instalación de PyCharm? El mensaje de error no se parece a Oracle Java u OpenJDK.
AB
Edite su pregunta y agregue el resultado deecho "$PYCHARM_JDK"
AB

Respuestas:

8

Abre el archivo pycharm64.vmoptions

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

y agregue un #al comienzo de la línea

# -XX:MaxPermSize=350m

Abre el archivo pycharm.vmoptions

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

y agregue un #al comienzo de la línea

# -XX:MaxPermSize=250m

El soporte MaxPermSize se eliminó en Java 8.0, pero el mensaje de error

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

no se parece a Oracle Java 8 u OpenJDK 8.

El iniciador PyCharm pycharm.shintenta 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

Asegúrese de estar utilizando la versión de Java que le gustaría utilizar.

AB
fuente
1

Mire dentro de la bincarpeta de la carpeta pycharm que extrajo.

Hay archivos llamados pycharm64.vmoptionsy pycharm.vmoptions. Dentro de ellos, puede eliminar la línea con la opción culpable de MaxPermSize=350m.

Heinz Fiedler
fuente