我想在bluemix上创建一个自定义buildpack,作为其中的一部分我试图将我自己的jar文件添加为javaagent。我曾经使用Tomcat,我刚刚将额外的代理添加到catalina.sh
脚本。
在bluemix上,这些是我采取的步骤:
现在是我遇到麻烦的一步,我找到了:
java_opts.add_javaagent(@droplet.sandbox + 'javaagent.jar')
根据评论的功能调用应该是我正在寻找的。 p>
问题是,当我检查函数时,我看到它调用了以下函数:
qualify_path(path, root = @droplet_root)
"$PWD/#{path.relative_path_from(root)}"
我无法弄清楚@droplet_root的位置在哪里,如果我能找到它,我可以在那里上传我的jar文件。
我尝试添加这样的相对位置:
java_opts << "java_buildpack/myAgent.jar"
但它没有用。
有关如何实现的任何建议?我应该在哪里放置文件,还是有其他方式?
答案 0 :(得分:3)
分割buildpack是实现这一目标的一种方法。您可以将其实现为&#34;框架&#34;在Java buildpack中。以下是您可以参考的一些示例,其中还添加了代理jar:
另一种简单的方法是简单地将代理jar添加到应用程序包中,然后使用JAVA_OPTS环境变量添加Java选项以启用代理。这需要您找到代理程序jar在正在运行的应用程序容器中结束的路径。您可以使用&#34; cf files&#34;浏览到它。这将依赖于Droplet的内部结构,因此如果buildpack改变了Droplet结构,它可能会被破坏。