【问题标题】:Add unmanaged dependency to Class Path of Eclipse Maven Project将非托管依赖项添加到 Eclipse Maven 项目的类路径
【发布时间】:2017-09-18 16:07:14
【问题描述】:

我有一个商业发行的 Maven 项目,它提供了通过 JDBC 连接到许多不同数据库的能力。通常,客户将必要的 JDBC 驱动程序放在其 Web 服务器的 lib 目录中以使其可访问。由于许可证类型,我们不能在 pom 中包含某些 jdbc 驱动程序,例如 Oracle。

我正在尝试在 Eclipse 中运行时在应用程序中使用 Oracle JDBC 连接。我需要在类路径上获取 JDBC jar,并且由于某种原因,如果不通过 maven 依赖项将其添加到 pom.xml,似乎无法做到这一点。

我认为肯定会转到 Properties-->Java Build Path --> Libraries --> Add External JARs 会起作用。当以这种方式添加到构建路径时,它会在包资源管理器中正确显示,但如果我在运行时运行 Class.forName,它会抛出 ClassNotFoundException。为什么此时它不在类路径上?

【问题讨论】:

标签: java eclipse oracle maven jdbc


【解决方案1】:

我会将相关的 jar 包含到 pom 中,但将它们设为 <optional>。然后,它们不会被打包到应用程序中,但可以由用户提供。

【讨论】:

    【解决方案2】:

    查看以下描述性 article,它提供了为您的一次性代码设置类路径或使用适度的解决方案来管理您的类路径依赖关系的快捷方式,然后是一个完整且专业的解决方案来管理甚至自动化您的类路径依赖项 - 如果需要为更大的项目自动化这些。

    如果您不打算非常频繁地更改任何这些 jar 版本,那么设置 CLASSPATH 变量是一种更好的方法,否则您可能会花费数小时的宝贵时间来调试问题的错误方面。

    希望这可以帮助您理解并解决您的问题!

    【讨论】:

    • 有道理,我通过将它添加到服务器的运行/调试配置的类路径而不是项目来让它工作。但我也喜欢这种方法。谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-12-12
    • 2012-03-12
    • 2012-11-28
    • 2010-09-13
    • 2017-01-14
    • 2012-01-21
    • 1970-01-01
    相关资源
    最近更新 更多