web-dev-qa-db-ja.com

pycharm-community-4.5の実行中にJavaの問題

Ubuntu 14.04(64ビット)にpycharm-community-4.5をインストールしました。インストール後、コマンド/opt/pycharm-community-4.5/bin$ ./pycharm.shを実行してpycharmを実行しましたが、端末に次のようなエラーが表示されました。

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

これが私の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)

どうすれば修正できますか?

9

ファイルを開くpycharm64.vmoptions

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

行の先頭に#を追加します

# -XX:MaxPermSize=350m

ファイルを開くpycharm.vmoptions

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

行の先頭に#を追加します

# -XX:MaxPermSize=250m

MaxPermSizeサポートはJava 8.0で削除されましたが、エラーメッセージ

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

oracle Java 8またはOpenJDK 8のようには見えません。

PyCharmスターターpycharm.shは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

使用するJavaバージョンを使用していることを確認してください。

8
A.B.

抽出したpycharmフォルダーのbinフォルダー内を確認します。

pycharm64.vmoptionsおよびpycharm.vmoptionsというファイルがあります。その内部で、MaxPermSize=350mの原因オプションを使用して行を削除できます。

1
Heinz Fiedler