run-java.sh 项目使用教程

run-java.sh 项目使用教程

1. 项目目录结构及介绍

run-java.sh 项目是一个用于在容器中启动 Java 应用的通用脚本。项目的目录结构如下:

run-java-sh/
├── circleci/
├── fish-pepper/
│   └── run-java-sh/
│       └── fp-files/
├── src/
├── test/
│   ├── docker/
│   └── t/
├── .gitignore
├── LICENSE
├── README.md
├── TUNING.md
└── pom.xml

目录介绍

  • circleci/: 包含 CircleCI 的配置文件,用于持续集成测试。
  • fish-pepper/: 包含 run-java.sh 的 Fish-Pepper 配置文件,用于在 Docker 构建过程中集成该脚本。
  • src/: 包含项目的源代码。
  • test/: 包含项目的测试代码和 Docker 测试环境的配置。
  • .gitignore: Git 忽略文件配置。
  • LICENSE: 项目许可证文件。
  • README.md: 项目介绍和使用说明。
  • TUNING.md: 关于 JVM 调优的说明文档。
  • pom.xml: Maven 项目配置文件。

2. 项目启动文件介绍

run-java.sh 是项目的核心启动脚本,用于在容器中启动 Java 应用。该脚本支持多种环境变量配置,可以根据容器的资源限制自动调整 JVM 参数。

启动脚本功能

  • 自动检测 JVM 版本: 根据环境变量 JAVA_MAJOR_VERSION 自动选择合适的 JVM 参数。
  • 内存限制: 根据容器的内存限制自动设置 -Xmx-Xms 参数。
  • CPU 限制: 根据容器的 CPU 限制自动调整 JVM 的线程数和垃圾回收参数。
  • 调试支持: 通过设置 JAVA_DEBUG 环境变量启用远程调试。
  • 自动检测 JAR 文件: 自动检测应用目录中的 JAR 文件并添加到 classpath。

使用示例

./run-java.sh run

3. 项目配置文件介绍

run-java.sh 的配置主要通过环境变量进行。以下是一些常用的环境变量及其说明:

环境变量

  • JAVA_APP_DIR: 应用文件所在的目录,默认是脚本所在的目录。
  • JAVA_LIB_DIR: 包含 Java JAR 文件的目录,默认与 JAVA_APP_DIR 相同。
  • JAVA_OPTIONS: 传递给 Java 进程的额外选项。
  • JAVA_MAJOR_VERSION: JVM 的主版本号,用于选择合适的 JVM 参数。
  • JAVA_MAX_MEM_RATIO: 设置 JVM 最大堆内存占容器内存的比例。
  • JAVA_INIT_MEM_RATIO: 设置 JVM 初始堆内存占容器内存的比例。
  • JAVA_MAX_CORE: 设置 JVM 使用的最大 CPU 核心数。
  • JAVA_DIAGNOSTICS: 启用诊断信息输出。
  • JAVA_MAIN_CLASS: 指定 Java 应用的主类。
  • JAVA_APP_JAR: 指定应用的 JAR 文件。
  • JAVA_CLASSPATH: 指定应用的 classpath。
  • JAVA_DEBUG: 启用远程调试。
  • JAVA_DEBUG_SUSPEND: 启用调试挂起模式。
  • JAVA_DEBUG_PORT: 设置远程调试端口,默认是 5005。

配置示例

export JAVA_APP_DIR=/deployments
export JAVA_MAX_MEM_RATIO=40
./run-java.sh --user maxmorlock --password secret

通过这些环境变量,可以灵活地配置 run-java.sh 以适应不同的应用需求和容器环境。

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值