Java 使用Jython运行HtmlUnit-在命令行上启动时出现问题

Java 使用Jython运行HtmlUnit-在命令行上启动时出现问题,java,python,jython,htmlunit,Java,Python,Jython,Htmlunit,根据本教程,我尝试使用Jython运行HtmlUnit: 但这对我不起作用。我无法导入com.gargoylesoftvare包,HtmlUnit文件夹中只有一些HTML文件,我需要以某种方式导入 教程中说要像这样运行python脚本: /opt/jython/jython -J-classpath "htmlunit-2.8/lib/*" gartner.py 我试着跑: java -jar /Users/adam/jython/jython.jar -J-classpath "htmlu

根据本教程,我尝试使用Jython运行HtmlUnit:

但这对我不起作用。我无法导入com.gargoylesoftvare包,HtmlUnit文件夹中只有一些HTML文件,我需要以某种方式导入

教程中说要像这样运行python脚本:

/opt/jython/jython -J-classpath "htmlunit-2.8/lib/*" gartner.py
我试着跑:

java -jar /Users/adam/jython/jython.jar -J-classpath "htmlunit-2.8/lib/*" gartner.py

我的问题是我得到了一个“未知选项:J-classpath”。但是Jython.org上甚至没有关于-J-classpath参数的消息。我很乐意接受任何建议。我正在运行jython standalone v。2.5.2在Snow Leopard上,
java
命令正在处理您的整个命令行(应该如此),并且-J-classpath确实不是
java
的有效命令行选项。您真的应该尝试按照教程中的确切步骤进行操作,因为您缺少了几个重要步骤(并且有点像是自己的步骤)。

如果脚本使用脚本运行所需JAR的sys.path.append将完整url附加到python路径,则可以将Jython脚本作为:Jython myscript.py运行

这是我正在编写的当前脚本

#!/opt/jython/jython
'''
Created on Dec 7, 2011
@author: chris
'''
import sys, os
from time import sleep

jarpath = '/usr/share/java/htmlunit/' #path the jar files to import
jars = ['apache-mime4j-0.6.jar','commons-codec-1.4.jar',
    'commons-collections-3.2.1.jar','commons-io-1.4.jar',
    'commons-lang-2.4.jar','commons-logging-1.1.1.jar',
    'cssparser-0.9.5.jar','htmlunit-2.8.jar',
    'htmlunit-core-js-2.8.jar','httpclient-4.0.1.jar',
    'httpcore-4.0.1.jar','httpmime-4.0.1.jar',
    'nekohtml-1.9.14.jar','sac-1.3.jar',
    'serializer-2.7.1.jar','xalan-2.7.1.jar',
    'xercesImpl-2.9.1.jar','xml-apis-1.3.04.jar'] #a list of jars

def loadjars(): #appends jars to jython path
    for jar in jars:
        print(jarpath+jar+'\n')
        container = jarpath+jar
        sys.path.append(container)

loadjars()

import com.gargoylesoftware.htmlunit.WebClient as WebClient
webclient = WebClient()   

def gotopage():
    print('hello, I will visit Google')
    url = 'http://google.com'
    page = webclient.getPage(url)
    print(page)    

if __name__ == "__main__":
    gotopage()

我以前遇到过这样的错误,通过这些步骤我成功地解决了它

  • 下载jython并运行
    java-jar python安装程序xxx.jar
    来安装jython,然后您可以将
    jython/bin
    文件夹放到您的系统路径中,在命令行中运行
    jython
    ,以确保它正常运行
  • 在sourceforge中下载htmlunit jar文件,您需要指定其位置
  • 编写.py文件并运行

    jython-J-classpath”/Users/crabime/Development Folder/htmlunit-2.23/lib/*“/Users/crabime/PycharmProjects/scrapimage/crabime/gartner.py


  • 一切都会好起来的,如果您仍然没有找到模块,也许您应该检查您的输入命令类型错误。

    我有点困惑。没有Java我怎么能运行Jython呢?太好了。祝项目的其余部分好运!你做了什么来解决这个问题-J-classpath不是jython的有效参数。您好,您能运行该程序吗?无法运行!使用htmlunit-2.16()@Napstar,这里有一个更新版本可以下载依赖项本身:它目前只依赖于Bash、Curl和Java。Jython、Ivy和HtmlUnit会自动下载。忽略Django的东西