重装MySQL后出错/java与javac版本不一致

本文详细记录了一次解决MySQL无法连接到本地服务器的问题过程,包括错误信息解析、服务安装与移除、配置调整等步骤。

MYSQL:
C:/Documents and Settings>cd c:/mysql/bin

C:/mysql/bin>mysql -u root -p
Enter password:
ERROR 2003: Can't connect to MySQL server on 'localhost' (10061)

C:/mysql/bin>mysql -u root -p0000
ERROR 2003: Can't connect to MySQL server on 'localhost' (10061)

C:/mysql/bin>mysqld-nt

C:/mysql/bin>mysql -u root -p
Enter password: ****
ERROR 2003: Can't connect to MySQL server on 'localhost' (10061)

C:/mysql/bin>mysqld

C:/mysql/bin>mysql -u root -p
Enter password:
ERROR 2003: Can't connect to MySQL server on 'localhost' (10061)

C:/mysql/bin>net start mysql
发生系统错误 3。

系统找不到指定的路径。


C:/mysql/bin>mysqlshow
mysqlshow: Can't connect to MySQL server on 'localhost' (10061)
  ++++++++++++++++++++++++++++++++++++
解决办法:

C:/mysql/bin>mysqld-nt -install
The service already exists!
The current server installed:

C:/mysql/bin>mysqld-nt -remove
Service successfully removed.

C:/mysql/bin>mysqld -install
Service successfully installed.

C:/mysql/bin>mysqld

C:/mysql/bin>mysqld --console
InnoDB: The first specified data file ./ibdata1 did not exist:
InnoDB: a new database to be created!
040712 18:19:27 InnoDB: Setting file ./ibdata1 size to 10 MB
InnoDB: Database physically writes the file full: wait...
040712 18:19:27 InnoDB: Log file ./ib_logfile0 did not exist: new to be created
........

mysqld: ready for connections.
Version: '4.0.20a-debug' socket: '' port: 3306

+++++++++++++++++
C:/mysql/bin>mysqld --skip-name-resolve

C:/Documents and Settings/sunshine>cd c:/mysql/bin

C:/mysql/bin>mysqld

C:/mysql/bin>mysql
Welcome to the MySQL monitor. Commands end with ; or /g.
Your MySQL connection id is 1 to server version: 4.0.20a-debug

Type 'help;' or '/h' for help. Type '/c' to clear the buffer.

mysql>
    +++++++++++++++++++++++++

    I:/Java_work> java ChartTester
    Exception in thread "main" java.lang.UnsupportedClassVersionError: ChartTester (Unsupp
    orted major.minor version 49.0)
        at java.lang.ClassLoader.defineClass0(Native Method)
        at java.lang.ClassLoader.defineClass(Unknown Source)
        at java.security.SecureClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.access$100(Unknown Source)
        .........

I:/Java_work>

出现这种错误是因为你的java (jvm)版本低,
C:/Documents and Settings/Administrator>java -version
java version "1.4.2_03"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_03-b02)
Java HotSpot(TM) Client VM (build 1.4.2_03-b02, mixed mode)

C:/Documents and Settings/Administrator>

C:/Documents and Settings/Administrator>javac -version

javac version "1.5.0_0"
这是由于你的path 环境变量设置的问题,
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

解决办法,确实使你使用的java 版本保持在最前,即放到最前边,
C:/Documents and Settings/Administrator>java -version
java version "1.5.0"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0-b64)
Java HotSpot(TM) Client VM (build 1.5.0-b64, mixed mode, sharing)

C:/Documents and Settings/Administrator>

OK了

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

若运行java命令时提示exception in thread "main" java.lang.NoClassDefFoundErroe:的异常
 一般情况说明你的classpath里没有加入 . 即当前目录
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Windows下AVI文件无法删除?试试先建立一个文本文件,然后把这个文件和avi一起选中,然后删除。
 

<think>首先,用户的问题是:“我想查找解决javajavac版本一致问题的方法”。用户提供了三个引用,我需要参考这些引用来回答。 回顾系统级指令: - 所有行内数学表达式必须使用$...$格式。 - 独立公式必须使用$$...$$格式并单独成段。 - LaTeX语法正确。 - 使用中文回答。 - 生成相关问题。 - 在回答中引用的段落末尾自然地添加引用标识。 用户提供的引用: - 引用[1]: 描述了在Windows系统中解决Javajavac版本一致的步骤,涉及环境变量设置。 - 引用[2]: 描述了在Mac系统中修改Javajavac版本的方法。 - 引用[3]: 讨论了在Windows安装多个版本JDK时切换版本的方法。 用户的核心问题是解决javacjava版本一致的问题。这个问题通常是由于环境变量Path设置正确造成的。 我的回答需要结构化: - 解释问题原因:Java运行时(java)和编译器(javac版本一致通常是因为系统Path变量指向了版本的JDK或JRE。 - 提供解决方法: - 对于Windows系统(基于引用[1]和[3])。 - 对于Mac系统(基于引用[2])。 - 确保回答清晰、步骤详细。 - 在适当的地方添加引用标识:[^1], [^2], [^3]。 最后,生成相关问题。 回答结构: 1. **引言**:简要说明问题原因。 2. **解决方法**: - Windows系统下的步骤。 - Mac系统下的步骤。 - 通用建议。 3. **生成相关问题**:在末尾添加。 使用中文回答。 添加引用标识: - 例如,在描述Windows方法时,末尾添加[^1]或[^3]。 - 在描述Mac方法时,添加[^2]。 关键步骤回忆: - **Windows**(引用[1]):添加系统变量JAVA_HOME指向正确JDK路径,然后在Path中添加%JAVA_HOME%\bin和%JAVA_HOME%\jre\bin。 - **Mac**(引用[2]):在.bash_profile中设置JAVA_HOME、CLASSPATH、PATH环境变量。 - **通用**:确保Path中指向的JDK路径一致。 生成相关问题: - 例如:如何检查Java版本?如何在多个JDK版本之间切换?为什么会出现版本一致整回答: - 先回答用户的问题。 - 最后添加相关问题。 </think>### 解决Javajavac版本一致问题的方法 在Java开发中,`java`(运行时)和`javac`(编译器)版本一致是常见问题,通常由环境变量配置错误引起。例如,当系统Path变量指向版本的JDK或JRE时,会导致命令执行时使用错误的路径[^1]。这种问题在Windows和Mac系统中尤为常见。以下提供详细的解决方法,基于您的引用内容进行优化。 --- #### **通用原因分析** - **主要原因**:环境变量(如Path)未正确指向同一个JDK版本。`java`可能指向JRE的路径,而`javac`指向JDK的bin目录,导致版本冲突[^1]。 - **检查方法**:在终端或CMD中运行以下命令验证版本: ```bash java -version javac -version ``` 如果输出显示版本号(如`java`为Java 11而`javac`为Java 8),则需修复环境变量。 #### **Windows系统解决方法** 在Windows中,通过修改系统环境变量确保`java`和`javac`使用同一JDK路径。步骤如下: 1. **设置`JAVA_HOME`变量**: - 右键“此电脑” → “属性” → “高级系统设置” → “高级” → “环境变量”。 - 在“系统变量”区域(非用户变量): - 新建变量名 `JAVA_HOME`,变量值设为JDK安装路径(如`C:\Program Files\Java\jdk1.8.0_301`)。 - 确保`JAVA_HOME`在变量列表中位于顶部优先级(可通过“上移”按钮调整)[^1][^3]。 2. **更新`Path`变量**: - 在“系统变量”中找到`Path`,点击“编辑”。 - 添加以下路径(确保在旧版本路径之前): - `%JAVA_HOME%\bin` - `%JAVA_HOME%\jre\bin`(如果存在) - 删除其他Java相关路径(如旧JDK或JRE的bin目录)。 3. **应用并验证**: - 打开新CMD窗口运行: ```bash java -version javac -version ``` - 输出应显示相同版本号(如都是Java 8)。如果仍一致,尝试重启系统使更改生效[^1][^3]。 **注意**:安装多个JDK时,可通过定义多个`JAVA_HOME`变量(如`JAVA8_HOME`和`JAVA11_HOME`),并在`Path`中动态切换,但只激活一个`JAVA_HOME`[^3]。 #### **Mac系统解决方法** 在Mac中,通过修改Shell配置文件(如`.bash_profile`)统一路径: 1. **确定JDK路径**: - 打开终端,运行`/usr/libexec/java_home -V`查看所有安装的JDK版本。 - 选择目标路径(如`/Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home`)。 2. **编辑环境变量文件**: - 打开终端,运行`vim ~/.bash_profile`(或使用其他编辑器)。 - 添加以下内容(替换路径为您的JDK安装目录): ```bash export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export PATH=$JAVA_HOME/bin:$PATH ``` - 保存文件并运行`source ~/.bash_profile`使配置生效。 3. **验证**: - 在终端运行`java -version`和`javac -version`,确保输出一致[^2]。 #### **通用建议** - **优先级调整**:环境变量中,Path列表的顺序决定命令查找优先级。确保JDK的bin路径在JRE路径之前。 - **安装注意**:安装新JDK后,旧版本可能残留。建议卸载无用版本,并使用工具如[SDKMAN!](https://sdkman.io/)管理多版本。 - **验证工具**:在命令行中使用`where java`(Windows)或`which java`(Mac)检查实际调用路径。 通过以上步骤,版本一致问题通常能解决。如果仍存在问题,可能是JDK安装损坏,建议重新安装并严格遵循环境变量设置[^1][^2][^3]。 --- ### 相关问题 1. 如何检查系统中安装的所有Java版本? 2. 在Windows系统中如何管理多个JDK版本并快速切换? 3. 为什么修改环境变量后需要关闭并重新打开命令行窗口? 4. Java版本一致会引发哪些常见编译或运行时错误? 5. 在Linux系统中如何解决类似的Javajavac版本冲突问题?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值