JRuby gemspec local jar dependencies



我想在 gemspec 中包含本地的"jar 依赖项",例如

/opt/someplugin/lib/somejar.jar

目前,我发现在项目中使用本地jar文件的唯一方法是在*.rb文件中require /opt/someplugin/lib/somejar.jar

它将查看使用 jar 依赖项的 DynamoDB gemspec 快照

  # Jar dependencies
  s.requirements << "jar 'com.amazonaws:amazon-kinesis-client', '1.6.0'"
  s.requirements << "jar 'log4j:log4j', '1.2.17'"
  s.requirements << "jar 'com.amazonaws:aws-java-sdk-dynamodb', '1.10.10'"
  s.requirements << "jar 'com.amazonaws:aws-java-sdk-core', '1.10.10'"
  s.requirements << "jar 'com.amazonaws:dynamodb-import-export-tool', '1.0.0'"
  s.requirements << "jar 'commons-logging:commons-logging', '1.1.3'"
  s.requirements << "jar 'com.amazonaws:dynamodb-streams-kinesis-adapter', '1.0.0'"
  s.requirements << "jar 'com.google.guava:guava', '15.0'"
  s.add_runtime_dependency 'jar-dependencies'

发生的情况是 gem 构建从 maven 存储库下载 jar 文件。

我想使用位于我的文件系统中的本地 jar 实现相同的"效果"。

可能看起来像我需要的命令的示例:

caution ?not real? gemspec line: s.requirements << "jar '/opt/someplugin/lib/somejar.jar', '1.0.0"

感谢您的帮助。

您可以将本地 jar 安装到本地 maven 存储库中,如此处所述

对于您的示例,命令可以是:

mvn install:install-file -Dfile=/opt/someplugin/lib/somejar.jar -DgroupId=some.group -DartifactId=somejar -Dversion=0.0.1 -Dpackaging=jar    

然后在gemspec中你可以引用这个jar:

# Jar dependencies
s.requirements << "jar 'some.group:somejar', '0.0.1'"

相关内容

最新更新