0

0

在Solaris系统上如何安装Java环境_安装包部署与环境变量配置

P粉602998670

P粉602998670

发布时间:2026-03-05 11:23:02

|

704人浏览过

|

来源于php中文网

原创

solaris上仅支持jdk 8u291或openjdk 8社区版,需先用uname -m和isainfo -v确认架构与位数,解压至非root路径并设执行权限,按shell类型正确配置java_home与path,补充ld_library_path以解决libsocket.so.1等依赖缺失问题。

在solaris系统上如何安装java环境_安装包部署与环境变量配置

确认 Solaris 架构和 JDK 版本兼容性

Solaris 不是“装个 JDK 就行”的系统,sparcx86_64 架构的二进制包完全不通用,且 Oracle 官方早在 JDK 11 后就停止为 Solaris 提供新版本。你现在能用的主流选择只有:JDK 8u291(最后支持 Solaris 的官方版本)或 OpenJDK 8 的社区构建版(如 openjdk8-solaris-sparc-bin)。

  • 运行 uname -m 确认是 i86pc(x86)还是 sun4v/sun4u(SPARC)
  • 运行 isainfo -v 查看是否支持 64-bit:输出含 amd64sparcv9 才能装 64-bit JDK
  • 别试 JDK 17+:Oracle 已移除 Solaris port,强行解压会报 cannot execute binary file

解压安装包到非 root 路径并验证权限

Solaris 默认不鼓励把 JDK 装在 /usr/jdk/instances 这类系统路径——尤其当你没 root 权限时。更稳妥的做法是解压到用户目录或共享挂载点,但必须确保 bin/java 可执行且库路径可读。

  • gzip -dc jdk-8u291-solaris-x64.tar.gz | tar -xf - 解压,避免因 tar 版本老(如 Solaris 10 自带的)不支持 --strip-components
  • 检查 bin/java 是否有执行权限:ls -l jdk1.8.0_291/bin/java,若无则运行 chmod +x jdk1.8.0_291/bin/java
  • 运行 ./jdk1.8.0_291/bin/java -version,若报 ld.so.1: java: fatal: libjli.so: open failed: No such file or directory,说明 LD_LIBRARY_PATH 没包含 jre/lib/sparcv9(SPARC)或 jre/lib/amd64(x86)

配置 PATHJAVA_HOME 时绕过 csh/tcsh 的变量继承陷阱

Solaris 用户常混用 bashcsh,而 csh环境变量语法和导出逻辑完全不同,export JAVA_HOME=....cshrc 里直接无效。

智能网站优化SiteSEO1.52
智能网站优化SiteSEO1.52

系统易学易懂,用户只需会上网、不需学习编程及任何语言,只要使用该系统平台,只要会打字,即可在线直接完成建站所有工作。本程序适合不懂php环境配置的新手用来在本机调试智能SiteSEO网站优化软件,安装过程极其简单。您的网站地址:http://localhost您的网站后台:登录地址: http://localhost/admin.php密 码: admin服务器套件所包含的软件:nginx-0.7

下载
  • .profile(bash/ksh)中写:JAVA_HOME=/export/home/user/jdk1.8.0_291; export JAVA_HOME; PATH=$JAVA_HOME/bin:$PATH; export PATH
  • .cshrc(csh/tcsh)中写:setenv JAVA_HOME /export/home/user/jdk1.8.0_291; setenv PATH ${JAVA_HOME}/bin:$PATH
  • 改完后别只 source .profile,要新开 shell 或运行 exec $SHELL,否则 which java 还可能指向旧的 /usr/bin/java
  • java -version 输出里若仍显示 Java(TM) 2 Runtime Environment,说明系统级软链 /usr/bin/java 还在生效,用 ls -la /usr/bin/java 确认,必要时跳过它直接调用绝对路径

验证 JRE 运行时依赖是否完整(尤其缺少 libsocket.so.1

Solaris 上 Java 网络组件依赖系统级 C 库,JDK 8u291 在较新 Solaris 11.4 上可能缺 libsocket.so.1 符号,导致 java.net 相关类加载失败或 DNS 解析卡住。

立即学习Java免费学习笔记(深入)”;

  • 运行 ldd jdk1.8.0_291/jre/bin/java,检查输出中是否有 libsocket.so.1 => (file not found)
  • 若缺失,先查系统是否存在:find /usr/lib -name 'libsocket.so*',常见路径是 /usr/lib/libsocket.so.1
  • 若存在但未被找到,临时加到 LD_LIBRARY_PATHexport LD_LIBRARY_PATH=/usr/lib:$LD_LIBRARY_PATH
  • 该问题在 Solaris 10 Update 11+ 和 Solaris 11.3+ 较少见,但定制内核或精简安装的系统极易出现

真正麻烦的不是装不上,而是装上了却在某个网络调用里静默失败——比如 URL.openConnection() 卡住 30 秒才超时,这种得靠 truss -f -t bind,connect,send,recv java YourApp 抓系统调用才能定位。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
oracle清空表数据
oracle清空表数据

当表中的数据不需要时,则应该删除该数据并释放所占用的空间。本专题为大家提供oracle清空表数据的相关文章,帮助大家解决该问题。

271

2023.08.16

Oracle中declare的使用
Oracle中declare的使用

Oracle DECLARE语句是PL/SQL编程语言中用于声明变量、常量、游标或异常的关键字。它的主要作用是在程序中定义这些对象,以便在后续的代码中使用。DECLARE语句的语法简单明了,可以根据需要声明多个对象。通过使用这些声明的对象,可以进行各种操作,如计算、查询数据库、处理异常等 。

220

2023.09.15

oracle怎么分页
oracle怎么分页

实现分页的步骤:1、使用ROWNUM进行分页查询;2、在执行查询之前进行设置分页参数;3、使用"COUNT(*)"函数来获取总行数,并使用"CEIL"函数来向上取整计算总页数;4、在外部查询中使用"WHERE"子句来筛选出特定的行号范围,以实现分页查询。想了解更多oracle怎么分页的文章,可以来阅读本专题先的文章。

245

2023.09.18

Oracle查看表操作历史记录
Oracle查看表操作历史记录

查看操作历史记录的方法:1、使用Oracle内置的审计功能,可以记录数据库中发生的各种操作,包括登录、DDL语句、DML语句等;2、使用Oracle日志文件,其中包含了数据库中发生的各种操作,可以通过查看日志文件来获取操作历史记录;3、使用Oracle的Flashback功能,可以查看数据库在某个时间点的操作历史记录;4、使用第三方工具等。本专题还提供其他查看表操作的文章,大家可以免费阅读。

463

2023.09.19

Oracle中RAC的用法
Oracle中RAC的用法

Oracle中RAC的用法:1、通过在多个服务器上运行数据库实例来提供高可用性;2、允许在需要时增加或减少节点数量;3、通过将工作负载分布到多个节点上来实现负载均衡;4、使用共享存储来实现多个节点之间的数据共享;5、允许多个节点同时处理数据库请求,从而实现并行处理;6、提供了透明故障切换功能;7、使用了一些技术来确保数据的一致性;8、提供了管理工具来简化RAC环境的管理和维护。本专题还提供RAC相关的其他文章,大家可以免费阅读。

450

2023.09.19

oracle imp
oracle imp

imp是Oracle数据库中的一个命令行工具,用于将导出的数据和对象从一个数据库实例导入到另一个数据库实例。imp命令的一般语法为“imp username/password@connect_string file=file_name [options]”。

336

2023.09.19

常用的数据库软件
常用的数据库软件

常用的数据库软件有MySQL、Oracle、SQL Server、PostgreSQL、MongoDB、Redis、Cassandra、Hadoop、Spark和Amazon DynamoDB。更多关于数据库软件的内容详情请看本专题下面的文章。php中文网欢迎大家前来学习。

1003

2023.11.02

oracle通配符有哪些
oracle通配符有哪些

oracle通配符有“%”、“_”、“[]”和“[^]"。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

166

2023.11.08

Rust内存安全机制与所有权模型深度实践
Rust内存安全机制与所有权模型深度实践

本专题围绕 Rust 语言核心特性展开,深入讲解所有权机制、借用规则、生命周期管理以及智能指针等关键概念。通过系统级开发案例,分析内存安全保障原理与零成本抽象优势,并结合并发场景讲解 Send 与 Sync 特性实现机制。帮助开发者真正理解 Rust 的设计哲学,掌握在高性能与安全性并重场景中的工程实践能力。

4

2026.03.05

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Kotlin 教程
Kotlin 教程

共23课时 | 4.1万人学习

C# 教程
C# 教程

共94课时 | 10.7万人学习

Java 教程
Java 教程

共578课时 | 77.3万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号