【问题标题】:GWAN not recognizing JavaGWAN 无法识别 Java
【发布时间】:2013-01-31 16:38:27
【问题描述】:

我遵循了常见问题解答,但我运行的是 Ubuntu 10 服务器,所以 J6 是我能得到的最好的。当我启动 gwan 4.2.13 (sudo ./gwan) 我得到“hello.java: to use .java scripts, install Java”

 echo $JAVA_HOME
/usr/lib/jvm/java-6-openjdk

echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/lib/jvm/java-6-openjdk/bin

java -version
java version "1.6.0_27"
OpenJDK Runtime Environment (IcedTea6 1.12.1) (6b27-1.12.1-2ubuntu0.10.04.2)
OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)

我尝试了常见问题解答中的 Java 清除并重新安装了 J6,但仍然没有成功。

有什么想法吗?

【问题讨论】:

  • 我尝试重新登录并注意到 PATH 和 JAVA_HOME 没有粘住,所以我将它们放在 /etc/profile 中,现在路径信息是“粘滞的”,因为在注销后仍然存在但仍然没有骰子。
  • 还尝试了 /etc/environment,根据 ubuntu,它是系统范围环境变量的首选位置。 help.ubuntu.com/community/EnvironmentVariables
  • 我在nabisoft.com/tutorials/glassfish/… 找到了一套相当全面的安装 1.7 jdk 的说明
  • 现在 gwan 实际上承认我有 java,但告诉我:线程“main”中的 loadingException java.lang.UnsupportedClassVersionError: hello : Unsupported major.minor version 51.0 at java.lang.ClassLoader.defineClass1(Native方法)在 java.lang.ClassLoader.defineClass(ClassLoader.java:634) 在 java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) 在 java.net.URLClassLoader.defineClass(URLClassLoader.java:277) 在 java. net.URLClassLoader.access$000(URLClassLoader.java:73) at java.net.URLClassLoader$1.run(URLClassLoader.java:212) at java.security.AccessController.doPrivilege
  • 在查看了一些 JNI 文档后,看起来 gwan 在尝试加载 JVM 时崩溃了。 (谁知道)docs.oracle.com/javase/7/docs/technotes/guides/jni/spec/…

标签: java cpu-architecture g-wan x86


【解决方案1】:

根据您的报告,错误是:

“java.lang.ClassLoader 不支持major.minor 51.0 版”

这不是崩溃,这是a Java version incompatibility triggered during the very first step of loading the JVM as explaned here

您的服务器运行的 Java 版本低于用于编译 Servlet 的 Java 版本,反之亦然。 Java 文档说明显示的版本号是类文件兼容的 JRE 版本:

J2SE 7 = 51,
J2SE 6.0 = 50,
J2SE 5.0 = 49,
JDK 1.4 = 48,
JDK 1.3 = 47,
JDK 1.2 = 46,
JDK 1.1 = 45

该错误与 G-WAN 无关:这是 Java 版本问题。要解决它,只需安装对应的 JVM 和 JDK。

任何使用 Java 的程序都可能发生此错误:混合版本会导致 Java 不兼容,而 G-WAN 对此无能为力。

【讨论】:

  • 说它是“独立于 G-WAN”并没有定论。系统上使用相同 JAVA 环境变量的其他可执行文件正在成功加载 JVM。我不知道问题是什么,但我肯定没有排除 G-WAN 是问题所在......关于与 Java 的集成,G-WAN 不是一个成熟的应用程序,所以它肯定是值得怀疑的。我的配置是否特定?很有可能,但其他更成熟的 Java 应用程序在我的配置下不会遇到同样的问题。
  • 此时我已经无法再继续了,因为我的想法已经用完了。我只是对 64 位 Linux 和 JVM 没有足够深入的了解,也没有时间深入挖掘。没有什么反对 G-WAN,我喜欢它背后的理念,我只需要继续努力,确定什么是满足我的 Java Web App 需求的最佳平台。感谢您的意见。
  • 您需要联系 G-WAN 支持并提供您的 gwan.log 文件以及其他信息。那么,有了相关信息,他们就能帮助你。
  • 完成。谢谢。我一定会为其他尝试使用 Java 和 gwan 遇到与我相同的障碍的人发布解决方案。
  • 我看到您编辑了更多详细信息的答案。我现在明白你在说什么,我必须看看我是否能解决这个问题。我已经安装了几个版本,很可能就是这样。附带说明一下,我安装了 Ubuntu 12.04 和 openjdk7 的干净副本。第一次完美运行。
猜你喜欢
  • 2012-09-03
  • 1970-01-01
  • 2016-07-29
  • 2015-02-17
  • 2017-05-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多