<综合>java virtual machine launcher 提示 could not find the main class,program will exit 问题

解决方法:

1.首先检查一下你的JDK版本是否够高,如果JDK版本不够高的话也会产生这个问题,首先更换版本高的JDK,然后重新打开Myeclipse

2.检查环境变量的设置是否正确

3.把你开发平台上的已安装JRE的JAVA虚拟机改为你安装的JDK的版本:具体方法:打开Myeclipse->窗口->首选项->JAVA->Installed JERs 把原来的勾选掉,点击右侧ADD按钮,选择browse,添加你的JRE路径,然后一路ok!,记得要把你新添加的JRE路径给勾选上

4.在project菜单下属性中,java build path 中的library中的jdk显示unbound,于是我将其删除了,重新加载了一个库,选择ADD LIBRARY,根据默认,选择自己的jdk版本,然后将其勾上,再在Order and export 中将原来的jdk删除,添加刚刚加载的库

5.在启动tomcat(7.0)时遇到,重新安装了6.0就可以了。

参考:http://blog.youkuaiyun.com/ying_24ying/article/details/7265155

  http://hi.baidu.com/ahgydx/item/442b16ad823062a028ce9d12

[root@yfw ~]# cd /opt/openfire/enterprise/spark/Spark [root@yfw Spark]# cd /opt/openfire/enterprise/spark/Spark [root@yfw Spark]# ./Spark [root@yfw Spark]# vim ./Spark [root@yfw Spark]# ./Spark + INSTALL4J_JAVA_PREFIX= + GREP_OPTIONS= ++ pwd + old_pwd=/opt/openfire/enterprise/spark/Spark ++ basename ./Spark + progname=Spark ++ dirname ./Spark + linkdir=. + cd . + prg=Spark + '[' -h Spark ']' ++ dirname Spark + prg_dir=. ++ basename Spark + progname=Spark + cd . ++ pwd + prg_dir=/opt/openfire/enterprise/spark/Spark + app_home=. + cd . ++ pwd + app_home=/opt/openfire/enterprise/spark/Spark + bundled_jre_home=/opt/openfire/enterprise/spark/Spark/jre + cd /opt/openfire/enterprise/spark/Spark/. + cache_home= + '[' W = W ']' + cache_home=/root/.cache + db_home=/root/.cache/install4j + mkdir -p /root/.cache/install4j + db_file=/root/.cache/install4j/jre_version + '[' '!' -w /root/.cache/install4j ']' + '[' -d /root/.cache/install4j/jre_version ']' + '[' -f /root/.cache/install4j/jre_version ']' + '[' '!' -r /root/.cache/install4j/jre_version ']' + '[' -f /root/.cache/install4j/jre_version ']' + '[' '!' -w /root/.cache/install4j/jre_version ']' + '[' '!' __i4j_lang_restart = '' ']' + '[' '!' __i4j_auth_restart = '' ']' + run_unpack200 /opt/openfire/enterprise/spark/Spark/jre + '[' -d /opt/openfire/enterprise/spark/Spark/jre/lib ']' + run_unpack200 /opt/openfire/enterprise/spark/Spark/jre/jre + '[' -d /opt/openfire/enterprise/spark/Spark/jre/jre/lib ']' + search_jre true + full_awt_required=false + '[' -z '' ']' + test_jvm '' + tested_jvm=na + test_dir= + bin_dir=/bin + java_exc=/bin/java + '[' -z '' ']' + return + full_awt_required=true + '[' -z '' ']' + '[' -f /opt/openfire/enterprise/spark/Spark/.install4j/pref_jre.cfg ']' + '[' -z '' ']' + test_jvm /opt/openfire/enterprise/spark/Spark/jre + tested_jvm=na + test_dir=/opt/openfire/enterprise/spark/Spark/jre + bin_dir=/opt/openfire/enterprise/spark/Spark/jre/bin + java_exc=/opt/openfire/enterprise/spark/Spark/jre/bin/java + '[' -z /opt/openfire/enterprise/spark/Spark/jre ']' + '[' '!' -d /opt/openfire/enterprise/spark/Spark/jre/bin ']' + return + '[' -z '' ']' + '[' na = false ']' + '[' -z '' ']' + '[' W '!=' Wtrue ']' ++ command -v java + prg_jvm=/bin/java + '[' 0 -ne 0 ']' + '[' W/bin/java = W ']' + '[' '!' -z /bin/java ']' + '[' -f /bin/java ']' ++ pwd + old_pwd_jvm=/opt/openfire/enterprise/spark/Spark ++ dirname /bin/java + path_java_bin=/bin + cd /bin + prg_jvm=java + '[' -h java ']' ++ ls -ld java + ls='lrwxrwxrwx 1 root root 22 3月 29 2025 java -> /etc/alternatives/java' ++ expr 'lrwxrwxrwx 1 root root 22 3月 29 2025 java -> /etc/alternatives/java' : '.*-> \(.*\)$' + link=/etc/alternatives/java + expr /etc/alternatives/java : '.*/.*' + prg_jvm=/etc/alternatives/java + '[' -h /etc/alternatives/java ']' ++ ls -ld /etc/alternatives/java + ls='lrwxrwxrwx 1 root root 73 3月 29 2025 /etc/alternatives/java -> /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-2.el8_5.x86_64/jre/bin/java' ++ expr 'lrwxrwxrwx 1 root root 73 3月 29 2025 /etc/alternatives/java -> /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-2.el8_5.x86_64/jre/bin/java' : '.*-> \(.*\)$' + link=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-2.el8_5.x86_64/jre/bin/java + expr /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-2.el8_5.x86_64/jre/bin/java : '.*/.*' + prg_jvm=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-2.el8_5.x86_64/jre/bin/java + '[' -h /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-2.el8_5.x86_64/jre/bin/java ']' ++ dirname /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-2.el8_5.x86_64/jre/bin/java + path_java_bin=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-2.el8_5.x86_64/jre/bin + cd /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-2.el8_5.x86_64/jre/bin + cd .. ++ pwd + path_java_home=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-2.el8_5.x86_64/jre + cd /opt/openfire/enterprise/spark/Spark + test_jvm /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-2.el8_5.x86_64/jre + tested_jvm=na + test_dir=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-2.el8_5.x86_64/jre + bin_dir=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-2.el8_5.x86_64/jre/bin + java_exc=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-2.el8_5.x86_64/jre/bin/java + '[' -z /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-2.el8_5.x86_64/jre ']' + '[' '!' -d /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-2.el8_5.x86_64/jre/bin ']' + '[' '!' -f /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-2.el8_5.x86_64/jre/bin/java ']' + '[' '!' -x /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-2.el8_5.x86_64/jre/bin/java ']' + modification_date=0 ++ date -r /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-2.el8_5.x86_64/jre/bin/java +%s + date_output=1636792349 + '[' 0 -eq 0 ']' + check_date_output + '[' -n 1636792349 -a 1636792349 -eq 1636792349 ']' + modification_date=1636792349 + '[' 1636792349 -eq 0 ']' + tested_jvm=false + read_db_entry + '[' -n '' ']' + '[' '!' -f /root/.cache/install4j/jre_version ']' + '[' '!' -x /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-2.el8_5.x86_64/jre/bin/java ']' + found=1 + exec + read r_type r_dir r_ver_major r_ver_minor r_ver_micro r_ver_patch r_ver_vendor + '[' JRE_VERSION = JRE_VERSION ']' + '[' /usr/lib/jvm/java-11-openjdk-11.0.13.0.8-4.el8_5.x86_64 = /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-2.el8_5.x86_64/jre ']' + r_ver_micro= + read r_type r_dir r_ver_major r_ver_minor r_ver_micro r_ver_patch r_ver_vendor + '[' JRE_INFO = JRE_VERSION ']' + '[' JRE_INFO = JRE_INFO ']' + '[' /usr/lib/jvm/java-11-openjdk-11.0.13.0.8-4.el8_5.x86_64 = /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-2.el8_5.x86_64/jre ']' + r_ver_micro= + read r_type r_dir r_ver_major r_ver_minor r_ver_micro r_ver_patch r_ver_vendor + '[' JRE_VERSION = JRE_VERSION ']' + '[' /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-2.el8_5.x86_64/jre = /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-2.el8_5.x86_64/jre ']' + ver_major=1 + ver_minor=8 + ver_micro=0 + ver_patch=312 + fill_version_numbers + '[' 1 = '' ']' + '[' 8 = '' ']' + '[' 0 = '' ']' + '[' 312 = '' ']' + r_ver_micro= + read r_type r_dir r_ver_major r_ver_minor r_ver_micro r_ver_patch r_ver_vendor + '[' JRE_INFO = JRE_VERSION ']' + '[' JRE_INFO = JRE_INFO ']' + '[' /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-2.el8_5.x86_64/jre = /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-2.el8_5.x86_64/jre ']' + is_64bit=92 + '[' W1636792349 = W1636792349 ']' + '[' W92 '!=' W ']' + found=0 + break + exec + return 0 + '[' true = true ']' + is_headless_only + '[' 1 = 1 ']' + '[' -f /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-2.el8_5.x86_64/jre/lib/amd64/libsplashscreen.so ']' + return 1 + '[' 1 = '' ']' + '[' 1 -lt 1 ']' + '[' 1 -eq 1 ']' + '[' 8 -lt 8 ']' + '[' 1 = '' ']' + app_java_home=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-2.el8_5.x86_64/jre + '[' -z /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-2.el8_5.x86_64/jre ']' + '[' -z /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-2.el8_5.x86_64/jre ']' + '[' -z /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-2.el8_5.x86_64/jre ']' + '[' -z /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-2.el8_5.x86_64/jre ']' + '[' -z /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-2.el8_5.x86_64/jre ']' + '[' -z /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-2.el8_5.x86_64/jre ']' + '[' -z /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-2.el8_5.x86_64/jre ']' + '[' -z /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-2.el8_5.x86_64/jre ']' + local_classpath= + i4j_classpath=/opt/openfire/enterprise/spark/Spark/.install4j/i4jruntime.jar:/opt/openfire/enterprise/spark/Spark/.install4j/launcher5cd2e029.jar + add_class_path /opt/openfire/enterprise/spark/Spark/.install4j/i4jruntime.jar:/opt/openfire/enterprise/spark/Spark/.install4j/launcher5cd2e029.jar + '[' -n /opt/openfire/enterprise/spark/Spark/.install4j/i4jruntime.jar:/opt/openfire/enterprise/spark/Spark/.install4j/launcher5cd2e029.jar ']' ++ expr /opt/openfire/enterprise/spark/Spark/.install4j/i4jruntime.jar:/opt/openfire/enterprise/spark/Spark/.install4j/launcher5cd2e029.jar : '.*\*' + '[' 0 -eq 0 ']' + local_classpath=/opt/openfire/enterprise/spark/Spark/.install4j/i4jruntime.jar:/opt/openfire/enterprise/spark/Spark/.install4j/launcher5cd2e029.jar + '[' '!' -d /opt/openfire/enterprise/spark/Spark/lib ']' + add_class_path /opt/openfire/enterprise/spark/Spark/lib '/*' + '[' -n /opt/openfire/enterprise/spark/Spark/lib ']' ++ expr /opt/openfire/enterprise/spark/Spark/lib : '.*\*' + '[' 0 -eq 0 ']' + local_classpath='/opt/openfire/enterprise/spark/Spark/.install4j/i4jruntime.jar:/opt/openfire/enterprise/spark/Spark/.install4j/launcher5cd2e029.jar:/opt/openfire/enterprise/spark/Spark/lib/*' + add_class_path /opt/openfire/enterprise/spark/Spark/resources + '[' -n /opt/openfire/enterprise/spark/Spark/resources ']' ++ expr /opt/openfire/enterprise/spark/Spark/resources : '.*\*' + '[' 0 -eq 0 ']' + local_classpath='/opt/openfire/enterprise/spark/Spark/.install4j/i4jruntime.jar:/opt/openfire/enterprise/spark/Spark/.install4j/launcher5cd2e029.jar:/opt/openfire/enterprise/spark/Spark/lib/*:/opt/openfire/enterprise/spark/Spark/resources' + add_class_path /opt/openfire/enterprise/spark/Spark/lib/windows '/*' + '[' -n /opt/openfire/enterprise/spark/Spark/lib/windows ']' ++ expr /opt/openfire/enterprise/spark/Spark/lib/windows : '.*\*' + '[' 0 -eq 0 ']' + local_classpath='/opt/openfire/enterprise/spark/Spark/.install4j/i4jruntime.jar:/opt/openfire/enterprise/spark/Spark/.install4j/launcher5cd2e029.jar:/opt/openfire/enterprise/spark/Spark/lib/*:/opt/openfire/enterprise/spark/Spark/resources:/opt/openfire/enterprise/spark/Spark/lib/windows/*' + '[' -n '' ']' + add_class_path /opt/openfire/enterprise/spark/Spark/lib/linux '/*' + '[' -n /opt/openfire/enterprise/spark/Spark/lib/linux ']' ++ expr /opt/openfire/enterprise/spark/Spark/lib/linux : '.*\*' + '[' 0 -eq 0 ']' + local_classpath='/opt/openfire/enterprise/spark/Spark/.install4j/i4jruntime.jar:/opt/openfire/enterprise/spark/Spark/.install4j/launcher5cd2e029.jar:/opt/openfire/enterprise/spark/Spark/lib/*:/opt/openfire/enterprise/spark/Spark/resources:/opt/openfire/enterprise/spark/Spark/lib/windows/*:/opt/openfire/enterprise/spark/Spark/lib/linux/*' + vmoptions_val= + read_vmoptions /opt/openfire/enterprise/spark/Spark/Spark.vmoptions ++ eval echo /opt/openfire/enterprise/spark/Spark/Spark.vmoptions + vmoptions_file=/opt/openfire/enterprise/spark/Spark/Spark.vmoptions + '[' '!' -r /opt/openfire/enterprise/spark/Spark/Spark.vmoptions ']' + vmoptions_file=/opt/openfire/enterprise/spark/Spark//opt/openfire/enterprise/spark/Spark/Spark.vmoptions + '[' -r /opt/openfire/enterprise/spark/Spark//opt/openfire/enterprise/spark/Spark/Spark.vmoptions ']' + INSTALL4J_ADD_VM_PARAMS=' ' + LD_LIBRARY_PATH=/opt/openfire/enterprise/spark/Spark/resources: + DYLD_LIBRARY_PATH=/opt/openfire/enterprise/spark/Spark/resources: + SHLIB_PATH=/opt/openfire/enterprise/spark/Spark/resources: + LIBPATH=/opt/openfire/enterprise/spark/Spark/resources: + LD_LIBRARYN32_PATH=/opt/openfire/enterprise/spark/Spark/resources: + LD_LIBRARYN64_PATH=/opt/openfire/enterprise/spark/Spark/resources: + export LD_LIBRARY_PATH + export DYLD_LIBRARY_PATH + export SHLIB_PATH + export LIBPATH + export LD_LIBRARYN32_PATH + export LD_LIBRARYN64_PATH + has_space_options=false + '[' W = W ']' + vmov_1=-Di4jv=0 + '[' W = W ']' + vmov_2=-Di4jv=0 + '[' W = W ']' + vmov_3=-Di4jv=0 + '[' W = W ']' + vmov_4=-Di4jv=0 + '[' W = W ']' + vmov_5=-Di4jv=0 + return_code=0 + '[' false = true ']' + exec /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-2.el8_5.x86_64/jre/bin/java -client -Dappdir=/opt/openfire/enterprise/spark/Spark/ -Dsun.java2d.noddraw=true '-Djava.library.path=/opt/openfire/enterprise/spark/Spark/\lib\windows' -classpath '/opt/openfire/enterprise/spark/Spark/.install4j/i4jruntime.jar:/opt/openfire/enterprise/spark/Spark/.install4j/launcher5cd2e029.jar:/opt/openfire/enterprise/spark/Spark/lib/*:/opt/openfire/enterprise/spark/Spark/resources:/opt/openfire/enterprise/spark/Spark/lib/windows/*:/opt/openfire/enterprise/spark/Spark/lib/linux/*' install4j.org.jivesoftware.launcher.Startup [root@yfw Spark]#
最新发布
10-31
### Java Virtual Machine Launcher 错误:Could not create the Java Virtual Machine 在运行 Java 应用程序时,用户可能会遇到 **"Could not create the Java Virtual Machine"** 的错误提示。此错误通常与 JVM 的启动参数配置、内存设置或 Java 版本不兼容有关。 #### 常见原因分析 1. **JVM 启动参数配置错误** 如果在启动 Java 应用程序时传入了错误或不支持的 JVM 参数,会导致虚拟机无法初始化。例如,在 Java 9 及更高版本中,某些旧的模块系统参数(如 `--add-modules=java.se.ee`)可能不再被支持,强行添加会导致启动失败[^1]。 例如: ```shell java --add-modules=java.se.ee -jar myapp.jar ``` 如果 `java.se.ee` 模块在当前 JDK 中不存在或已被移除,JVM 将无法创建。 2. **内存分配过高** 如果在启动时设置了过高的堆内存参数(如 `-Xmx`),而系统无法满足该需求,JVM 也无法创建。例如: ```shell java -Xmx10g -jar myapp.jar ``` 如果系统可用内存不足 10GB,将导致该错误。 3. **Java 版本不兼容** 某些应用程序可能依赖特定版本的 Java 运行时环境(JRE),如果使用了不兼容的版本(如从 Java 8 升级到 Java 11 后缺少某些模块),也可能导致 JVM 初始化失败[^1]。 4. **Eclipse 等 IDE 的配置问题** 在 Eclipse 中,如果直接修改了 `eclipse.ini` 文件并添加了不兼容的 JVM 参数(如 `--add-modules=java.se.ee`),可能导致 Eclipse 无法启动,提示 JVM 创建失败[^1]。 #### 解决方案 1. **检查并移除不兼容的 JVM 参数** 如果使用了 `--add-modules=java.se.ee` 或其他过时参数,应将其从启动命令或配置文件中移除。例如,在 Eclipse 的 `eclipse.ini` 文件中删除该参数。 2. **调整内存设置** 检查 `-Xmx`(最大堆内存)和 `-Xms`(初始堆内存)参数是否合理。建议根据系统可用内存进行调整,例如: ```shell java -Xms512m -Xmx2g -jar myapp.jar ``` 3. **使用兼容的 Java 版本** 确保应用程序支持当前运行的 Java 版本。如果应用依赖 Java 8 的某些特性,建议使用 JDK 8 而不是更高版本。可以使用 `jenv` 或 `SDKMAN` 管理多个 Java 版本。 4. **修复 Eclipse 配置文件** 如果是 Eclipse 启动失败,打开 `eclipse.ini` 文件,移除所有不兼容的参数,并确保 `-vm` 指向正确的 JDK 安装路径。例如: ```ini -vm C:/Program Files/Java/jdk1.8.0_291/bin/javaw.exe ``` 5. **检查操作系统架构与 Java 版本匹配** 确保安装的 Java 版本与操作系统架构(32 位或 64 位)一致。例如,在 64 位系统上使用 64 位 JDK,否则可能导致 JVM 无法创建。 6. **更新 Java 运行时环境** 如果使用的是旧版本 JDK/JRE,可能存在已知的兼容性问题。建议升级到最新稳定版本。 --- ### 示例:修复 Eclipse 启动失败 假设 Eclipse 启动失败,提示 "Could not create the Java Virtual Machine",可按以下步骤操作: 1. 打开 `eclipse.ini` 文件。 2. 删除或注释掉 `--add-modules=java.se.ee` 行。 3. 确保 `-vm` 参数指向正确的 JDK 安装路径。 4. 保存文件并重新启动 Eclipse。 --- ### 示例代码:检查当前 Java 版本 ```java public class JavaVersionCheck { public static void main(String[] args) { System.out.println("Java Version: " + System.getProperty("java.version")); System.out.println("Java Home: " + System.getProperty("java.home")); } } ``` 运行该程序可确认当前使用的 Java 版本和安装路径。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值