我正在尝试在我的服务器(CentOS 6)上运行 Google 的 Closure Compiler。我安装了它,但尝试运行它时只出现错误。
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 来代替它?
我做了显而易见的事情:从 Oracle 下载 RPM,并rpm -Uvh jre-7u5-linux-x64.rpm
以 root 身份运行。运行java --version
后仍然是 GIJ。
我已经在 Google 上搜索了半个小时,但没有找到任何有用的信息。
答案1
运行alternatives --config java
并选择Oracle版本。
答案2
找到你想要的包yum search java
和/或yum provides java
。在我的情况下是java-1.7.0-openjdk.x86_64
,然后:
yum install java-1.7.0-openjdk.x86_64
使用以下方法删除不需要的版本yum remove