如何发布具有非公共依赖项的项目?

时间:2018-03-26 12:57:59

标签: java oracle maven ojdbc

我的项目中有Oracle JDBC驱动程序(ojdbc8.jar)

    <dependency>
        <groupId>com.oracle</groupId>
        <artifactId>ojdbc8</artifactId>
        <version>12.2.0.1</version>
    </dependency>

它已安装在我当地的maven存储库中:

mvn install:install-file -Dfile=C:\Oracle\Client\jdbc\lib\ojdbc8.jar -DgroupId=com.oracle -DartifactId=ojdbc8 -Dversion=12.2.0.1 -Dpackaging=jar

但现在我想分发我的项目,例如在GitHub

如果有人下载我的项目,他将没有ojdbc8.jar

所以问题是 - 如何发布具有一些本地或其他依赖项的项目,这些依赖项不在maven公共回购中?

2 个答案:

答案 0 :(得分:3)

我在处理来自公司(通常是微软和苹果公司)的罐子时遇到了这个问题,他们希望人们使用他们的语言堆栈而不是Java。我不是律师,但您可能想要指示想要编译代码的人从可公开下载的jar开始,而不是将它们指向您构建的maven工件。

如果没有公共存储库,那么您应该描述如何在用户的本地/企业存储库中构建依赖项。提供下载jar所需的URL并描述手动步骤(用于构建副本的步骤),以便相关方可以跟进。正如您所提到的,maven使得将jar部署到存储库变得简单。

答案 1 :(得分:1)

如果有一个包含ojdbc8.jar的公共存储库,您可以在pom中定义该存储库。

如果没有,您需要确定是否允许您在github存储库中发布该jar或者是否可以找到下载链接。