2016-02-17 37 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中,而是先安裝它。 –