使用node-jdbc模块将Node.js应用程序部署到Bluemix

我正在尝试使用node-jdbc模块将Node.js应用程序推送到Bluemix。 这个node-jdbc模块需要安装JDK。 有没有办法推送一个Node.js应用程序,并在同一个运行时安装JDK?

这是我用来部署具有node-jdbc依赖项的Bluemix Node.js应用程序的解决scheme:

1)下载适用于Linux x64的JDK软件包(兼容Cloud Foundry堆栈)

2)安装/解压JDK包到根目录的项目目录下,我的目录是这样的( jdk1.7.0_79是我添加的新目录):

 -rwxr-xr-x@ 1 adasilva staff 436 Jan 24 18:21 README.md drwxr-xr-x 15 adasilva staff 510 Apr 10 2015 jdk1.7.0_79 -rw-r--r--@ 1 adasilva staff 72 Jan 27 15:27 manifest.yml -rwxr-xr-x@ 1 adasilva staff 327 Jan 27 21:21 package.json -rwxr-xr-x@ 1 adasilva staff 4412 Jan 24 18:21 server.js 

3)现在,为了buildpack来检测Java,我必须设置以下环境variables:

 cf set-env your-app-name JAVA_HOME /tmp/staged/app/jdk1.7.0_79 

部署后,应用程序目录实际上是在/home/vcap/app ,但编译完成在分期,所以目录是不同的

4)对于运行时,应用程序需要Java库,所以我还需要设置另一个环境variables:

 cf set-env your-app-name LD_LIBRARY_PATH /home/vcap/app/jdk1.7.0_79/jre/lib/amd64:/home/vcap/app/jdk1.7.0_79/jre/lib/amd64/server 

请注意,现在我使用了/home/vcap/app因为运行时会在应用程序部署之后。

5)运行cf restage再次cf push重新部署应用程序。