Java Path 问题(二)

本文深入探讨了在J2EE环境中如何利用ServletContext实现资源的相对路径到绝对路径的转换,包括getResource和getRealPath方法的用法与区别。重点介绍了方法的应用场景与注意事项。
ServletContext.getResource
ServletContext.getRealPath

对于 J2EE,可以使用 ServletContext.getResource

根据相对路径获得绝对路径的URL,相对路径以 ContextPath 为第一参考路径,以 /WEB-INF/lib 中 Jar 包的 /META-INF/resources 为第二参考路径

相对路径必须以 “/” 开头。

ServletContext.getRealPath 不推荐使用。


### Oracle Java javapath 配置方法及环境变量设置 在配置 Oracle Java 的环境变量时,`javapath` 是一个关键的路径。以下是对该问题的详细说明: #### 1. 环境变量的基本概念 环境变量是操作系统中的一种动态值,用于存储系统配置信息。Java 的运行依赖于几个重要的环境变量,如 `JAVA_HOME` 和 `PATH`。其中,`JAVA_HOME` 指向 JDK 的安装目录,而 `PATH` 则用于指定可执行文件的搜索路径[^5]。 #### 2. `javapath` 的作用 `C:\Program Files\Common Files\Oracle\Java\javapath` 是 Oracle 在 Windows 系统上安装 Java 时自动创建的一个特殊目录。此目录的作用是简化 Java 的环境配置。它包含三个可执行文件:`java.exe`、`javaw.exe` 和 `javaws.exe`。这些文件实际上是符号链接或快捷方式,指向实际的 Java 可执行文件[^3]。 #### 3. 配置步骤 以下是配置 Oracle Java 环境变量的具体步骤: - **设置 `JAVA_HOME`** 将 `JAVA_HOME` 设置为 JDK 的安装路径。例如,如果 JDK 安装在 `C:\Program Files\Java\jdk-11.0.11`,则将 `JAVA_HOME` 设置为该路径[^1]。 - **修改 `PATH` 变量** 在 `PATH` 中添加 `%JAVA_HOME%\bin`,以确保系统优先使用 JDK 提供的 `java.exe` 而不是 `javapath` 下的版本。如果 `C:\ProgramData\Oracle\Java\javapath` 已经存在于 `PATH` 中,则需要将其移动到末尾,或者直接删除以避免冲突[^4]。 - **验证配置** 打开命令提示符(CMD),输入以下命令以验证配置是否正确: ```cmd java -version javac -version ``` 如果输出显示正确的 JDK 版本号,则说明配置成功[^5]。 #### 4. 常见问题及解决方法 - **问题 1:`java -version` 显示错误版本** 如果 `java -version` 显示的版本与预期不符,可能是因为 `C:\ProgramData\Oracle\Java\javapath` 仍存在于 `PATH` 中。尝试将其移除,并将 `%JAVA_HOME%\bin` 放在 `PATH` 的最前面[^2]。 - **问题 2:找不到 `java.exe` 文件** 如果系统提示“找不到文件 C:\ProgramData\Oracle\Java\javapath\java.exe”,可能是由于路径冲突或权限问题。检查 `PATH` 配置是否正确,并确保 `%JAVA_HOME%\bin` 优先级更高[^4]。 - **问题 3:多个 Java 版本冲突** 如果系统中存在多个 Java 版本,建议只保留一个版本的路径在 `PATH` 中,避免冲突。可以通过卸载不需要的 Java 版本来进一步减少问题[^1]。 ```cmd :: 示例:手动检查 PATH 配置 echo %PATH% ``` #### 5. 注意事项 - 不要同时将多个 JDK 或 JRE 的路径添加到 `PATH` 中。 - 如果需要切换 Java 版本,可以考虑使用工具(如 `jenv`)来管理不同版本的 JDK[^5]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值