java-buildpack源码分析

java-buildpack将在JVM上运行的应用包(zip,war,jar等),配置,组合成可运行的应用。

java-buildpack探测应用包的容器,JRE,框架等,并下载其依赖包,并配置其运行参数。

Java-buildpack对Java应用的支持情况

容器

tomcat

DistZip

Groovy

JavaMain

PlayFramework

Ratpack

SpringBoot

SpringBootCLI

JDK

OpenJdkJRE

OracleJRE

Frameworks 

AppDynamicsAgent

JavaOpts

NewRelicAgent

PlayFrameworkAutoReconfiguration

PlayFrameworkJPAPlugin

PostgresqlJDBC

SpringAutoReconfiguration

SpringInsight

注意:

对这些组件都默认取最新版本,前端没有接口可以改变版本;

前端没有接口可以修改配置(如:修改http端口),运行时参数等,官方的建议是创建自定义的buildpack。

代码目录结构

java-buildpack是一个标准的ruby工程,用tree命令可以看到其目录结构如下:

(省略了部分文件)

java-buildpack
├── bin # buildpack主要的脚本
│   ├── compile
│   ├── detect
│   └── release
├── build # 制作离线包生成的目录
│   ├── java-buildpack-offline-1.0.zip
│   └── staging
├── config
│   ├── app_dynamics_agent.yml
│   ├── ...
│   └── tomcat.yml
├── CONTRIBUTING.md
├── coverage
│   ├── assets
│   └── index.html
├── docs
│   ├── buildpack-modes.md
│   ├── ...
│   └── security.md
├── Gemfile
├── Gemfile.lock
├── java-buildpack.iml
├── lib
│   ├── java_buildpack # 源代码目录
│   └── java_buildpack.rb
├── LICENSE
├── NOTICE
├── Rakefile
├── rakelib
│   ├── dependency_cache_task.rb
│   ├── package.rb
│   ├── package_task.rb
│   └── stage_buildpack_task.rb
├── README.md
├── resources
│   ├── new_relic_agent
│   ├── open_jdk_jre
│   ├── oracle_jre
│   └── tomcat
└── spec
├── application_helper.rb
├── ...
└── spec_helper.rb

 

猜你喜欢

转载自jamie-wang.iteye.com/blog/2175042