2016-02-17 41 views
8

我想在gemspec“JAR依赖”是包括地方如JRuby的gemspec本地JAR依赖

/opt/someplugin/lib/somejar.jar

目前唯一的办法,我发现使用本地的jar文件中的一个项目是中* .RB通过require /opt/someplugin/lib/somejar.jar

文件将看看DynamoDB的快照使用的jar依赖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文件。

我想实现同样的“效果”,但与位于我的文件系统中的本地罐。

实例的命令,可能会是什么样子,我需要:

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

感谢您的帮助。

回答

0

等记载here

对于示例,您可以安装本地的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'" 
+0

谢谢我会试试,我的开发电脑现在就关闭了。我会很快尝试。它看起来是一个不错的选择。但是看起来你不能仅仅将jar包含在gemspec中,而是先安装它。 –