无法在 Windows 框中安装 WWW::HtmlUnit

发布于 2024-11-04 13:01:24 字数 2481 浏览 1 评论 0原文

我正在尝试在 Windows 7 上安装 WWW::HTMLUnit 。有步骤我运行过:

  1. Install Inline::Java 0.53
  2. Install WWW::HTMLUnit 0.15

在步骤 2 中,在 nmake 之后,我输入 nmake test 来测试模块,但失败了。这是输出:

C:\nmake test

Microsoft (R) Program Maintenance Utility Version 9.00.30729.01
Copyright (C) Microsoft Corporation.  All rights reserved.

C:\Perl\bin\perl.exe "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib\lib', 'blib\arch')" t/*.t
t/00_basic...........
t/00_basic...........NOK 1/1#   Failed test 'use WWW::HtmlUnit;'
#   at t/00_basic.t line 9.
#     Tried to use 'WWW::HtmlUnit'.
#     Error:  Class com.gargoylesoftware.htmlunit.WebClient not found at C:/Perl/site/lib/Inline/Java.pm line 619
# BEGIN failed--compilation aborted at (eval 4) line 2, <GEN7> line 4.
# Looks like you failed 1 test of 1.
t/00_basic...........dubious
        Test returned status 1 (wstat 256, 0x100)
DIED. FAILED test 1
        Failed 1/1 tests, 0.00% okay
t/01_hello...........Class com.gargoylesoftware.htmlunit.WebClient not found at C:/Perl/site/lib/Inline/Java.pm line 619
BEGIN failed--compilation aborted at t/01_hello.t line 4, <GEN7> line 4.
t/01_hello...........dubious
        Test returned status 26 (wstat 6656, 0x1a00)
t/02_hello_sweet.....dubious
        Test returned status 19 (wstat 4864, 0x1300)
t/03_clickhandler....Class com.gargoylesoftware.htmlunit.WebClient not found at C:/Perl/site/lib/Inline/Java.pm line 619
BEGIN failed--compilation aborted at t/03_clickhandler.t line 6, <GEN7> line 4.
t/03_clickhandler....dubious
        Test returned status 29 (wstat 7424, 0x1d00)
DIED. FAILED tests 1-8
        Failed 8/8 tests, 0.00% okay
Failed Test         Stat Wstat Total Fail  List of Failed
-------------------------------------------------------------------------------
t/00_basic.t           1   256     1    1  1
t/01_hello.t          26  6656    ??   ??  ??
t/02_hello_sweet.t    19  4864    ??   ??  ??
t/03_clickhandler.t   29  7424     8   16  1-8
Failed 4/4 test scripts. 9/9 subtests failed.
Files=4, Tests=9,  3 wallclock secs ( 0.00 cusr +  0.00 csys =  0.00 CPU)
Failed 4/4 test programs. 9/9 subtests failed.
NMAKE : fatal error U1077: 'C:\Perl\bin\perl.exe' : return code '0x1d'
Stop.

从上面的日志中,我可以看到:

类错误:找不到 com.gargoylesoftware.htmlunit.WebClient。

我不知道我错过了什么。 任何帮助将不胜感激。

谢谢。 明。

I'm trying to install WWW::HTMLUnit on Windows 7. There're step that I run through:

  1. Install Inline::Java 0.53
  2. Install WWW::HTMLUnit 0.15

At step 2, after nmake, I type nmake test to test module but it failed. Here's output:

C:\nmake test

Microsoft (R) Program Maintenance Utility Version 9.00.30729.01
Copyright (C) Microsoft Corporation.  All rights reserved.

C:\Perl\bin\perl.exe "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib\lib', 'blib\arch')" t/*.t
t/00_basic...........
t/00_basic...........NOK 1/1#   Failed test 'use WWW::HtmlUnit;'
#   at t/00_basic.t line 9.
#     Tried to use 'WWW::HtmlUnit'.
#     Error:  Class com.gargoylesoftware.htmlunit.WebClient not found at C:/Perl/site/lib/Inline/Java.pm line 619
# BEGIN failed--compilation aborted at (eval 4) line 2, <GEN7> line 4.
# Looks like you failed 1 test of 1.
t/00_basic...........dubious
        Test returned status 1 (wstat 256, 0x100)
DIED. FAILED test 1
        Failed 1/1 tests, 0.00% okay
t/01_hello...........Class com.gargoylesoftware.htmlunit.WebClient not found at C:/Perl/site/lib/Inline/Java.pm line 619
BEGIN failed--compilation aborted at t/01_hello.t line 4, <GEN7> line 4.
t/01_hello...........dubious
        Test returned status 26 (wstat 6656, 0x1a00)
t/02_hello_sweet.....dubious
        Test returned status 19 (wstat 4864, 0x1300)
t/03_clickhandler....Class com.gargoylesoftware.htmlunit.WebClient not found at C:/Perl/site/lib/Inline/Java.pm line 619
BEGIN failed--compilation aborted at t/03_clickhandler.t line 6, <GEN7> line 4.
t/03_clickhandler....dubious
        Test returned status 29 (wstat 7424, 0x1d00)
DIED. FAILED tests 1-8
        Failed 8/8 tests, 0.00% okay
Failed Test         Stat Wstat Total Fail  List of Failed
-------------------------------------------------------------------------------
t/00_basic.t           1   256     1    1  1
t/01_hello.t          26  6656    ??   ??  ??
t/02_hello_sweet.t    19  4864    ??   ??  ??
t/03_clickhandler.t   29  7424     8   16  1-8
Failed 4/4 test scripts. 9/9 subtests failed.
Files=4, Tests=9,  3 wallclock secs ( 0.00 cusr +  0.00 csys =  0.00 CPU)
Failed 4/4 test programs. 9/9 subtests failed.
NMAKE : fatal error U1077: 'C:\Perl\bin\perl.exe' : return code '0x1d'
Stop.

From above log, I could see that:

class Error: com.gargoylesoftware.htmlunit.WebClient could not be found.

I have no idea that I missed anything.
Any help would be appreciated.

Thanks.
Minh.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

忘你却要生生世世 2024-11-11 13:01:27

我找到了。
Unix 和 Windows 系统中的路径是不同的。 Unix 使用“:”作为分隔符,但 Windows 使用“;”。所以我所做的就是打开 HTMLUnit.pm 并将所有 ':' 更改为 ';'。
在 HTMLUnit 0.15 版本中,我对以下几行进行了更改:
第 78 行:

return join ';', map { "$jar_path/$_" } qw( # return join ':', map { "$jar_path/$_" } qw(

第 127 行:

$custom_jars = join(';', @{$parameters{'jars'}}); # $custom_jars = join(':', @{$parameters{'jars'}});

第 148 行:

CLASSPATH => collect_default_jars() . ";" . $custom_jars, # CLASSPATH => collect_default_jars() . ":" . $custom_jars,

它就像魔术一样。

I found it.
There's different between path in Unix and Windows system. Unix uses ':' for a delimiter but Windows uses ';'. So what I've done is that open HTMLUnit.pm and change all of ':' to ';'.
With HTMLUnit version 0.15 I made changes at these lines below:
Line 78:

return join ';', map { "$jar_path/$_" } qw( # return join ':', map { "$jar_path/$_" } qw(

Line 127:

$custom_jars = join(';', @{$parameters{'jars'}}); # $custom_jars = join(':', @{$parameters{'jars'}});

Line 148:

CLASSPATH => collect_default_jars() . ";" . $custom_jars, # CLASSPATH => collect_default_jars() . ":" . $custom_jars,

And it works like a magic.

前事休说 2024-11-11 13:01:27

(它不允许我对现有答案发表评论)

我看到你关于“:”与“;”的答案。我将尝试在下一个 WWW::HtmlUnit 版本中包含修复程序(我是 perl 绑定的作者)。

(it wouldn't let me comment on an existing answer)

I see your answer about ':' vs ';'. I'll try to include a fix in the next WWW::HtmlUnit release (I am the author of the perl bindings).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文