【问题标题】:JRuby gemspec local jar dependenciesJRuby gemspec 本地 jar 依赖项
【发布时间】:2016-05-29 10:18:04
【问题描述】:

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

/opt/someplugin/lib/somejar.jar

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

它将使用 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 build 会从 maven 存储库下载 jar 文件。

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

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

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

感谢您的帮助。

【问题讨论】:

    标签: java jar dependencies jruby


    【解决方案1】:

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

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

    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'"
    

    【讨论】:

    • 谢谢,我会试试的,我的开发电脑现在坏了。我会尽快尝试的。看起来是个不错的选择。但看起来你不能只在 gemspec 中包含 jar 而是在之前安装它。
    猜你喜欢
    • 1970-01-01
    • 2021-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-06
    • 1970-01-01
    • 2011-01-25
    相关资源
    最近更新 更多