错误:-安装java时无法索引到空数组

错误:-安装java时无法索引到空数组,java,powershell,packer,Java,Powershell,Packer,我试图在packer实例上使用powershell Invoke-WebRequest命令安装java,但是,我发现了以下错误 Cannot index into a null array. At line:1 char:94 + ... content | %{[regex]::matches($_, '(?:<a title="Download Java software ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

我试图在packer实例上使用powershell Invoke-WebRequest命令安装java,但是,我发现了以下错误

Cannot index into a null array.
At line:1 char:94
+ ... content | %{[regex]::matches($_, '(?:<a title="Download Java software ...
+                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [], RuntimeException
    + FullyQualifiedErrorId : NullArray
无法索引到空数组中。
第1行字符:94

+ ... content |%{[regex]::matches($|,,(?:发生这种情况,因为网页上没有诸如
下载Windows Java软件
之类的字符串。由于regex与任何内容都不匹配,
成员不存在,您将在尝试索引到不存在的成员时出错

使用web浏览器的“查看源代码”命令,或将内容保存在文本文件中,然后使用记事本进行查看,如下所示:

$cc = (Invoke-WebRequest -UseBasicParsing https://www.java.com/en/download/manual.jsp).Content
Set-Content -Path c:\temp\javapage.txt -Value $cc
notepad c:\temp\javapage.txt

页面加载一组Javascript,生成浏览器上看到的实际页面。

这种情况会发生,因为网页上没有诸如“下载Windows Java软件”之类的字符串。由于正则表达式与任何内容都不匹配,
组成员不存在,您将在尝试索引到非exi时出错刺客

使用web浏览器的“查看源代码”命令,或将内容保存在文本文件中,然后使用记事本进行查看,如下所示:

$cc = (Invoke-WebRequest -UseBasicParsing https://www.java.com/en/download/manual.jsp).Content
Set-Content -Path c:\temp\javapage.txt -Value $cc
notepad c:\temp\javapage.txt

该页面加载了大量Javascript,生成浏览器上看到的实际页面。

感谢您的反馈。是的,我可以看到“title”字符串已从网页中删除,因此,在这种情况下,正确的URL应该是什么,以便安装java?@SagarJadhav这将是不同问题的主题。可能类似于“如何使用脚本下载最新的Java?”并解释直接下载链接不再存在。也许Oracle已经提供了解决方案。感谢您的反馈。是的,我可以看到“标题”“字符串已从网页中删除,因此,在本例中,正确的URL应该是什么,以便安装java?@SagarJadhav这将是不同问题的主题。可能类似于“如何使用脚本下载最新的java?”并解释直接下载链接已经不存在了。也许Oracle已经提供了一个解决方案。