我有一些 proprietary.jar 需要包含在我的项目中,但我不想将其安装到本地存储库。
我最初所做的是将 jar 放入我的项目的版本控制中lib/
文件夹,然后将 Maven 依赖项指定为:
<!-- LOCAL DEPENDENCY -->
<dependency>
<groupId>topsecret</groupId>
<artifactId>proprietary</artifactId>
<version>0.0.1</version>
<scope>system</scope>
<systemPath>${basedir}/lib/java/proprietary.jar</systemPath>
</dependency>
然而,当我的项目成为别人的依赖项时,这就成为一个大问题。 Maven 将无法验证此 POM,因为路径不是绝对的。
克服这个问题的最佳方法是什么?
我认为需要回答的第一个问题是,为什么不想将其安装在本地存储库中?
Maven 遵循约定优于配置的理念,因此你越是与“Maven 方式”抗争,事情就会变得越困难。除非您有令人信服的理由不将 jar 安装到存储库,否则这对我来说似乎是最好的解决方案。
如果您担心未经授权的用户获得对专有 jar 的访问权限,还有其他解决方案,例如使用存储库管理器,例如Nexus http://nexus.sonatype.org/ or Archiva http://archiva.apache.org/.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)