2013-08-21 4 views
0

J'essaie de faire un .JAR à partir d'un simple échantillon de rubis. En IRM et jRuby, je peux le faire sans problème mais quand j'essaye de fausser le projet, j'obtiens une erreur quand j'exécute le fichier JAR.warbling un simple échantillon de rubis avec dépendance YAML

Errno::ENOENT: No such file or directory - configuration.yml 

Le fichier configuration.yml est pas dans le dossier du projet, car est doit être modifiable, ce qui ne devrait pas être dans le JAR inclus, de façon optimale le chemin serait par rapport au pot pour que le fichier YML est en le même dossier que le fichier JAR. Alors, comment pourrais-je faire ça?

Mon bin \ sample.rb

require 'yaml' 
@conf = YAML::load_file "c:/test/configuration.yml" 
#@conf = YAML::load_file "c:\\test\\configuration.yml" 
puts @conf['username'] 

Mon c: \ test \ configuration.yml

username: test 

Mon fichier .gemspec

Gem::Specification.new do |spec| 
    spec.require_paths << '.' 
} 

Ma config \ warble.rb

Warbler::Config.new do |config| 
    config.jar_name = "sample" 
end 

Je warble avec "warble jar -trace" et ne pas avoir d'erreurs J'utilise jruby-1.7.4 et warbler-1.3.8.

Répondre

0

Compris sans java comme le suggèrent certaines solutions sur le web (mais pas pour warble).

require 'yaml' 

scriptpath = __FILE__[/(.*)\/.+\.jar!/] 
yamlpath = "#{$1[6..-1]}/configuration.yml" 
@conf  = YAML::load_file(yamlpath) 
puts @conf['username'] 
# => test 
Questions connexes