Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java chef运行windows输入意外结束,应为关键字\u end_Java_Windows_Chef Infra_Chef Recipe - Fatal编程技术网

Java chef运行windows输入意外结束,应为关键字\u end

Java chef运行windows输入意外结束,应为关键字\u end,java,windows,chef-infra,chef-recipe,Java,Windows,Chef Infra,Chef Recipe,我正在尝试使用chef run将java jdk 8安装到ubuntu 16.04实例上。虽然当它尝试安装时,I get未能聚合目标,但当我打开日志时,我有以下信息: [2018-06-21T20:24:34+01:00] ERROR: Remote chef-client error follows: [2018-06-21T20:24:34+01:00] ERROR: SyntaxError: /var/chef-workstation/cache/cookbooks/windows/res

我正在尝试使用chef run将java jdk 8安装到ubuntu 16.04实例上。虽然当它尝试安装时,I get
未能聚合目标
,但当我打开日志时,我有以下信息:

[2018-06-21T20:24:34+01:00] ERROR: Remote chef-client error follows:
[2018-06-21T20:24:34+01:00] ERROR: SyntaxError: /var/chef-workstation/cache/cookbooks/windows/resources/share.rb:275: syntax error, unexpected end-of-input, expecting keyword_end
我的厨师报告中有以下结构:

cookbooks
 -- jdk
  -- attributes
   -- default.rb
  -- recipes
   -- default.rb
  metadata.rb
属性/default.rb中:

default['java']['install_flavor'] = 'openjdk'
default['java']['jdk'] = '8'
include_recipe 'java'
name 'name'
maintainer 'maintainer'
maintainer_email 'maintainer_email@email.com'
license 'MIT'
description 'Installs/Configures java'
long_description 'Installs/Configures java'
version '0.1.0'
chef_version '>= 12.14' if respond_to?(:chef_version)

depends 'java', '~> 2.1.0'
配方/default.rb中:

default['java']['install_flavor'] = 'openjdk'
default['java']['jdk'] = '8'
include_recipe 'java'
name 'name'
maintainer 'maintainer'
maintainer_email 'maintainer_email@email.com'
license 'MIT'
description 'Installs/Configures java'
long_description 'Installs/Configures java'
version '0.1.0'
chef_version '>= 12.14' if respond_to?(:chef_version)

depends 'java', '~> 2.1.0'
在元数据.rb的
中:

default['java']['install_flavor'] = 'openjdk'
default['java']['jdk'] = '8'
include_recipe 'java'
name 'name'
maintainer 'maintainer'
maintainer_email 'maintainer_email@email.com'
license 'MIT'
description 'Installs/Configures java'
long_description 'Installs/Configures java'
version '0.1.0'
chef_version '>= 12.14' if respond_to?(:chef_version)

depends 'java', '~> 2.1.0'
我看不出错误是由什么引起的。在此方面的任何帮助都将不胜感激

编辑:

如果有帮助,我正在使用的参数命令如下:
chef run-i~/.ssh/keyjack@hostjdk

这是ChefDK 3.0在使用策略tarball导出时的一个错误。它将于下周在ChefDK 3.1中修复。同时,将其添加到
knife.rb
config文件中:

require "mixlib/archive/lib_archive"
Mixlib::Archive::LibArchive.define_singleton_method(:new) { raise LoadError }

请确保在升级到3.1时将其删除。

此问题应在最新的稳定版本0.1.139中解决。

您是否在本手册的某个地方使用了
windows\u share
?错误不适用于Java。@brandonmiller不,这是奇怪的事情。java cookbook依赖windows,但这是安装它的唯一原因,除了我对它不做任何操作之外。也许重新下载windows cookbook并再次上载?@BrandonMiller我自己不下载它,当我运行
chef run
时,它会为我在实例上下载它。我已在实例上清除了
/var/chef workstation
,并在本地计算机上清除了它
~/.chef workstation
,但没有任何更改。奇怪的是,当我运行
厨房测试时,它通过了。如果你使用的是厨师服务器,它会从你的服务器下载。在测试开始时,检查使用了哪个版本的
windows
cookbook,然后在实例上执行相同的操作并进行检查。Test kitchen从您的服务器上获取带有Berks的烹饪书。我在
~/.chef
~/.chefdk
中创建了
刀.rb
,但运气不佳。我还在服务器本身
/var/chef workstation/.chef
上创建了它,之后运行了
chef run
,但它们都不起作用。我仍然得到完全相同的错误,是否有什么我做得不正确?啊,对不起,我不认为
chef run
使用相同的配置文件。我想你只需要等待一个固定版本。以前的版本会有相同的bug吗?Chef run是一个新的测试项目,所以我不确定他们在引入bug之前是否有任何版本仍然存在。不过,我会在早上ping该团队。0.1.139部署了此修复程序。谢谢