2015-02-10 834 views
3

Github上链接: -无法找到或加载主类net.lightbody.bmp.proxy.Main

https://github.com/jarib/browsermob-proxy-rb 

正在创建使用browsermob代理按照代理: - 执行

require 'selenium/webdriver' 
require 'browsermob/proxy' 

server = BrowserMob::Proxy::Server.new("/path/to/downloads/browsermob-proxy/bin/browsermob-proxy") #=> #<BrowserMob::Proxy::Server:0x000001022c6ea8 ...> 
server.start 

“server.start”,它会抛出如下错误: -

Error: Could not find or load main class net.lightbody.bmp.proxy.Main 
BrowserMob::Proxy::Server::ServerDiedError: unable to launch the server (rerun with :log => true to see process output) 
    from /home/ubuntu/.rvm/gems/[email protected]/gems/browsermob-proxy-0.2.0/lib/browsermob/proxy/server.rb:75:in `wait_for_startup' 
    from /home/ubuntu/.rvm/gems/[email protected]/gems/browsermob-proxy-0.2.0/lib/browsermob/proxy/server.rb:34:in `start' 
    from (irb):13 
    from /home/ubuntu/.rvm/rubies/ruby-2.2.0/bin/irb:11:in `<main>' 

我该如何解决这个问题?

回答

1

确保你在'bin'文件夹附近放置'libow'文件夹和'broowsermob-dist'jar文件。

0

碰到同样的问题。

我只有两个文件tryout-browsermob.rbbrowsermob-proxy一起同一文件夹下,并为下面引用:

server = BrowserMob::Proxy::Server.new("./browsermob-proxy") 

但事实证明,只具有单一browsermob-proxy二进制文件是不够的。

提取从https://github.com/lightbody/browsermob-proxy/releases下载的发布zip文件后,还需要lib文件夹。

最好是将发布zip解压缩到一个文件夹中并保留所有文件与原始文件夹结构。

/browsermob-proxy-2.1.4 
    /bin 
    /lib 
    /ssl-support 
    browsermob-core-2.1.4-javadoc.jar 
    browsermob-core-2.1.4-sources.jar 
    browsermob-rest-2.1.4-javadoc.jar 
    browsermob-rest-2.1.4-sources.jar 

然后在.rb文件,引用二进制像

server = BrowserMob::Proxy::Server.new("./browsermob-proxy-2.1.4/bin/browsermob-proxy") 

如果在Windows下,使用完全合格的路径。

server = BrowserMob::Proxy::Server.new("D:\\browsermob\\browsermob-proxy-2.1.4\\bin\\browsermob-proxy.bat") 
相关问题