如何在chef中接受oracle java下载条款

如何在chef中接受oracle java下载条款,java,chef-infra,Java,Chef Infra,我正在使用ark从oracle下载下载jdk7u51 ark 'jdk' do url 'http://download.oracle.com/otn/java/jdk/7u51-b13/jdk-7u51-linux-x64.tar.gz' path "/home/myapp/apps/jdku51" owner 'myapp' group 'myapp' action :put end 但是,这不会下载实际文件,因为不接受许可协议 因为我使用的是vagrant,所以

我正在使用ark从oracle下载下载jdk7u51

ark 'jdk' do
  url  'http://download.oracle.com/otn/java/jdk/7u51-b13/jdk-7u51-linux-x64.tar.gz'
  path "/home/myapp/apps/jdku51" 
  owner 'myapp'
  group 'myapp'
  action :put
 end
但是,这不会下载实际文件,因为不接受许可协议

因为我使用的是vagrant,所以我在.kitchen.yml中添加了以下内容。但这没有帮助

suites:
  - name: default
    run_list:
      - recipe[java]
    attributes:
      java:
        jdk_version: 7
        oracle:
          accept_oracle_download_terms: true
          jce:
            enabled: true

接受oracle许可条款的最佳方式是什么?

找到了答案。这对我有用

remote_file "#{Chef::Config[:file_cache_path]}/jdk-7u51-linux-x64.tar.gz" do
  source "http://download.oracle.com/otn/java/jdk/7u51-b13/jdk-7u51-linux-x64.tar.gz"
      headers({"Cookie" => "oraclelicense=accept-securebackup-cookie"})
end

不使用OpenJDK有什么特别的原因吗?我不知道ark是什么,但是我不得不使用wget下载JDK,并且您必须添加一个cookie来下载它。我相信它的
Cookie:oraclelicense=accept securebackup Cookie
@chrylis:主要原因是我想将它安装在/home/newuser/java中一个单独的位置,以便进行本地测试。我不知道如何强制RPM在本地安装,即在用户主页中location@user1587001在尝试重新发明轮子之前,你有没有看过《方舟》吗(它在引擎盖下使用了改进版的方舟提供商)?@user158701你在这里说什么?jce是jdk的一部分,就像jre一样,如果你有一个简单的jre,它很可能根本不是由食谱安装的。