All Projects → paketo-buildpacks → bellsoft-liberica

paketo-buildpacks / bellsoft-liberica

Licence: Apache-2.0 license
A Cloud Native Buildpack that provides the Bellsoft Liberica implementations of JREs and JDKs

Programming Languages

go
31211 projects - #10 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to bellsoft-liberica

graalvm
A Cloud Native Buildpack that provides the GraalVM implementations of JREs and JDKs
Stars: ✭ 21 (-36.36%)
Mutual labels:  jvm, cnb, jvm-applications
java
A Cloud Native Buildpack with an order definition suitable for Java applications
Stars: ✭ 66 (+100%)
Mutual labels:  cnb, jvm-applications
stuff
All stuff in a single repo (tests, ideas, benchmarks)
Stars: ✭ 13 (-60.61%)
Mutual labels:  jvm
cryostat
Secure JDK Flight Recorder management for containerized JVMs
Stars: ✭ 147 (+345.45%)
Mutual labels:  jvm
LearningNotes
Java学习笔记,主要来源于B站上视频的学习,同时会记录平时一些学习和项目中遇到的问题,同步更新在蘑菇博客,如果对我的博客网站感兴趣的话,欢迎关注我的 蘑菇博客项目 笔记主要涵盖:Java,Spring,SpringCloud,计算机网络,操作系统,数据结构,Vue等 如果笔记对您有帮助的话,欢迎star支持,谢谢~
Stars: ✭ 477 (+1345.45%)
Mutual labels:  jvm
JavaNewBee
Java 从小白到大牛,涵盖Java 基础、进阶、面试要点等核心要点,助你一臂之力。
Stars: ✭ 84 (+154.55%)
Mutual labels:  jvm
rust-jvm
A toy JVM on Web Browser implemented by Rust
Stars: ✭ 59 (+78.79%)
Mutual labels:  jvm
SourceCodeSummary
个人笔记(编译/性能优化/framework/音视频/flutter)
Stars: ✭ 18 (-45.45%)
Mutual labels:  jvm
php
A Cloud Native Buildpack for PHP
Stars: ✭ 17 (-48.48%)
Mutual labels:  cnb
java-notes
自己的学习笔记。包含:个人秋招经历、🐂客面经问题按照频率总结、Java一系列知识、数据库、分布式、微服务、前端、技术面试、每日文章等(持续更新)
Stars: ✭ 1,560 (+4627.27%)
Mutual labels:  jvm
kpspemu
PSP Emulator written in Kotlin for JVM, JS and Native. Can work as PWA.
Stars: ✭ 57 (+72.73%)
Mutual labels:  jvm
play-scala-log4j2-example
An example Play project using Log4J 2 as the logging engine
Stars: ✭ 14 (-57.58%)
Mutual labels:  jvm
setup-action
▶️ GitHub Action using Coursier to install JVM and Scala tools
Stars: ✭ 30 (-9.09%)
Mutual labels:  jvm
imergindo-jvm-book
Conteúdo do livro do imergindo na JVM
Stars: ✭ 21 (-36.36%)
Mutual labels:  jvm
play-java-seed.g8
Play Java Seed template: use "sbt new playframework/play-java-seed.g8"
Stars: ✭ 20 (-39.39%)
Mutual labels:  jvm
JavaYouth
主要是Java技术栈的文章,涉及到了源码、原理,面试等知识。如AQS,JVM,rpc,计网,os等等,后续可能会写mysql,redis,zk这些
Stars: ✭ 616 (+1766.67%)
Mutual labels:  jvm
archimedes-jvm
Archimedes's implementation for the Java Virtual Machine (JVM)
Stars: ✭ 24 (-27.27%)
Mutual labels:  jvm
clojang
Clojure API for Erlang/OTP Communications (built on jiface)
Stars: ✭ 61 (+84.85%)
Mutual labels:  jvm
classfile-rs
JVM classfile parser and writer for Rust
Stars: ✭ 27 (-18.18%)
Mutual labels:  jvm
metrics-agent
JVM agent based metrics with Prometheus and Dropwizard support (Java, Scala, Clojure, Kotlin, etc)
Stars: ✭ 25 (-24.24%)
Mutual labels:  jvm

gcr.io/paketo-buildpacks/bellsoft-liberica

The Paketo BellSoft Liberica Buildpack is a Cloud Native Buildpack that provides the BellSoft Liberica implementations of JREs and JDKs.

This buildpack is designed to work in collaboration with other buildpacks which request contributions of JREs and JDKs.

Behavior

This buildpack will participate if any of the following conditions are met

  • Another buildpack requires jdk
  • Another buildpack requires jre

The buildpack will do the following if a JDK is requested:

  • Contributes a JDK to a layer marked build and cache with all commands on $PATH
  • Contributes $JAVA_HOME configured to the build layer
  • Contributes $JDK_HOME configure to the build layer

The buildpack will do the following if a JRE is requested:

  • Contributes a JRE to a layer with all commands on $PATH
  • Contributes $JAVA_HOME configured to the layer
  • Contributes -XX:ActiveProcessorCount to the layer
  • Contributes -XX:+ExitOnOutOfMemoryError to the layer
  • Contributes -XX:+UnlockDiagnosticVMOptions,-XX:NativeMemoryTracking=summary & -XX:+PrintNMTStatistics to the layer (Java NMT)
  • If BPL_JMX_ENABLED = true
    • Contributes -Djava.rmi.server.hostname=127.0.0.1, -Dcom.sun.management.jmxremote.authenticate=false, -Dcom.sun.management.jmxremote.ssl=false & -Dcom.sun.management.jmxremote.rmi.port=5000
  • If BPL_DEBUG_ENABLED = true
    • Contributes -agentlib:jdwp=transport=dt_socket,server=y,address=*:8000,suspend=n. If Java version is 8, address parameter is address=:8000
  • If BPL_JFR_ENABLED = true
    • Contributes -XX:StartFlightRecording=dumponexit=true,filename=/tmp/recording.jfr
  • Contributes $MALLOC_ARENA_MAX to the layer
  • Disables JVM DNS caching if link-local DNS is available
  • If metadata.build = true
    • Marks layer as build and cache
  • If metadata.launch = true
    • Marks layer as launch
  • Contributes Memory Calculator to a layer marked launch
  • Contributes Heap Dump helper to a layer marked launch

Configuration

Environment Variable Description
$BP_JVM_VERSION Configure the JVM version (e.g. 8, 11, 16). The buildpack will download JDK and JRE assets that are compatible with this version of the JVM specification. Since the buildpack only ships a single version of each supported line, updates to the buildpack can change the exact version of the JDK or JRE. In order to hold the JDK and JRE versions stable, the buildpack version itself must be stable.

Buildpack releases (and the dependency versions for each release) can be found here. Few users will use this buildpack directly, instead consuming a language buildpack like paketo-buildpacks/java who's releases (and the individual buildpack versions and dependency versions for each release) can be found here. Finally, some users will will consume builders like paketobuildpacks/builder:base who's releases can be found here. To determine the individual buildpack versions and dependency versions for each builder release use the pack inspect-builder <image> functionality.

$BP_JVM_TYPE Configure the JVM type that is provided at runtime, i.e. a JDK or JRE - accepts values "JDK" or "JRE" (default). If a JRE type is requested but not available, a JDK will be provided.
$BPL_JVM_HEAD_ROOM Configure the percentage of headroom the memory calculator will allocated. Defaults to 0.
$BPL_JVM_LOADED_CLASS_COUNT Configure the number of classes that will be loaded at runtime. Defaults to 35% of the number of classes.
$BPL_JVM_THREAD_COUNT Configure the number of user threads at runtime. Defaults to 250.
$BPL_HEAP_DUMP_PATH Configure the location for writing heap dumps in the event of an OutOfMemoryError exception. Defaults to ``, which disables writing heap dumps. The path set must be writable by the JVM process.
$BPL_JAVA_NMT_ENABLED Configure whether Java Native Memory Tracking (NMT) is enabled. Defaults to true. Set this to false to disable NMT functionality.
$BPL_JAVA_NMT_LEVEL Configure the level of detail for Java Native Memory Tracking (NMT) output. Defaults to summary. Set this to detail for detailed NMT output.
$BPL_JMX_ENABLED Configure whether Java Management Extensions (JMX) is enabled. Defaults to false. Set this to true to enable JMX functionality.
$BPL_JMX_PORT Configure the port number for JMX. Defaults to 5000. When running the container, this value should match the port published locally, i.e. for Docker: --publish 5000:5000
$BPL_DEBUG_ENABLED Configure whether remote debugging features are enabled. Defaults to false. Set this to true to enable remote debugging.
$BPL_DEBUG_PORT Configure the port number for remote debugging. Defaults to 8000.
$BPL_DEBUG_SUSPEND Configure whether to suspend execution until a debugger has attached. Defaults to false.
$BPL_JFR_ENABLED Configure whether Java Flight Recording (JFR) is enabled. If no arguments are specified via BPL_JFR_ARGS, the default config args dumponexit=true,filename=/tmp/recording.jfr are added.
$BPL_JFR_ARGS Configure custom arguments to Java Flight Recording, via a comma-separated list, e.g. duration=10s,maxage=1m. If any values are specified, no default args are supplied.
$BP_JVM_JLINK_ENABLED Configures whether to run the JDK's jlink tool at build time to generate a custom JRE. Defaults to false. If no custom args are specified, the default args are --no-man-pages --no-header-files --strip-debug --compress=1.
$BP_JVM_JLINK_ARGS Configure custom arguments to supply to the jlink tool. If any custom args are specified, no default args are supplied.
$JAVA_TOOL_OPTIONS Configure the JVM launch flags

Bindings

The buildpack optionally accepts the following bindings:

Type: dependency-mapping

Key Value Description
<dependency-digest> <uri> If needed, the buildpack will fetch the dependency with digest <dependency-digest> from <uri>

License

This buildpack is released under version 2.0 of the Apache License.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].