Я пытаюсь запустить Google Closure Compiler на своем сервере (CentOS 6). Я установил его, но ошибки возникали только при попытке запустить.
java.lang.NoSuchMethodError: method java.util.regex.Pattern.quote with signature (Ljava.lang.String;)Ljava.lang.String; was not found. (Closure::Error)
at com.google.javascript.jscomp.RhinoErrorReporter.replacePlaceHolders(RhinoErrorReporter.java:68)
at com.google.javascript.jscomp.RhinoErrorReporter.<init>(RhinoErrorReporter.java:74)
at com.google.javascript.jscomp.RhinoErrorReporter.<init>(RhinoErrorReporter.java:32)
at com.google.javascript.jscomp.RhinoErrorReporter$OldRhinoErrorReporter.<init>(RhinoErrorReporter.java:143)
at com.google.javascript.jscomp.RhinoErrorReporter$OldRhinoErrorReporter.<init>(RhinoErrorReporter.java:139)
at com.google.javascript.jscomp.RhinoErrorReporter.forOldRhino(RhinoErrorReporter.java:108)
at com.google.javascript.jscomp.Compiler.<init>(Compiler.java:151)
at com.google.javascript.jscomp.CommandLineRunner.createCompiler(CommandLineRunner.java:755)
at com.google.javascript.jscomp.AbstractCommandLineRunner.doRun(AbstractCommandLineRunner.java:693)
at com.google.javascript.jscomp.AbstractCommandLineRunner.run(AbstractCommandLineRunner.java:334)
at com.google.javascript.jscomp.CommandLineRunner.main(CommandLineRunner.java:871)
Кажется, я использую GIJ вместо Oracle Java, поэтому я думаю, что это могло вызвать мои проблемы. (Или, может быть, нет, не стесняйтесь поправлять меня, если это маловероятно.) Как мне удалить GIJ и установить вместо него Oracle Java?
Я сделал очевидное: загрузил RPM из Oracle и запустил rpm -Uvh jre-7u5-linux-x64.rpm
как корень. Ран java --version
и это все еще GIJ.
Я уже полчаса в гугле, но ничего полезного не нашел.
Найдите нужный пакет yum search java
и / или yum provides java
. В моем случае это было java-1.7.0-openjdk.x86_64
, а потом:
yum install java-1.7.0-openjdk.x86_64
Удалите ненужную версию с помощью yum remove
Бегать alternatives --config java
и выберите версию Oracle.