【问题标题】:Jython issue with classpaths类路径的 Jython 问题
【发布时间】:2010-11-19 04:22:34
【问题描述】:

我有一个关于运行与 jython 相关的两个命令的差异的问题。我遇到了类路径和数据库驱动程序的问题。

对我有用的是执行以下操作: jython -J-classpath ../lib/mysql-connector-java-5.1.7.jar test.py /home/test/data

运行该命令一切都按预期运行,所以我想组合我的脚本以作为 jar 运行,这样就不需要 jython。一旦我完成创建我的 jar,一切都会运行,直到我需要驱动程序并返回驱动程序未找到错误。

我运行如下: java -cp ../lib/mysql-connector-java-5.1.7.jar mytest.jar test.py /home/test/data

我不确定我是否理解为什么一个可以工作而另一个不能工作?

谢谢

【问题讨论】:

    标签: jython


    【解决方案1】:

    我让它工作了,但我不确定它为什么工作。我希望有人可以向我解释。我重建了 mytest.jar jar,并在构建 jar 时在 mainifest 中包含了所需的类路径,这似乎允许我在 java 中使用: java -cp mytest.jar test.py /home/test/data

    为什么在 mainfest 中而不是在命令行中包含类路径会产生不同的结果?

    【讨论】:

    • 当您通过 Ant、beanshell、Jython 或其他方式运行 java 程序时,在某些情况下,类会加载到自定义类加载器而不是“默认类加载器”中。例如,启动一个 beanshell 脚本,然后在脚本中动态加载 jar 会导致 .jar 被加载到自定义类加载器中,而需要使用 Class.forname 方法加载的类,如 JDBC 驱动程序,将因此在环境中出现问题.不过,只要将内容加载到默认的类加载器中,就不会出现问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-16
    • 2011-03-27
    • 2012-07-05
    • 1970-01-01
    • 2013-05-25
    • 1970-01-01
    相关资源
    最近更新 更多