- 同一diconファイル内に、同じインターフェースを実装した複数クラスをname指定なしで登録して、Containerから取得しようとするとエラー。
- diconファイルを分けると取得できる。最初に読み込まれたファイルに設定しているクラスが取得できる。(同じnameをつけている場合も同じ挙動)
- diconファイルを使わずに、componentの自動登録でも同一インターフェースの複数クラスは登録、nameを指定しての取得ができる。
たまに日記
2014年7月12日土曜日
Seasar2
Seasar2の動きを今更ながら少し調べてみた。
2014年7月5日土曜日
STSで作成したプロジェクトをeclipseのwtpで起動
STSで作成したspring webプロジェクトをeclipseのwtpを使ってtomcat起動
「2.5」はServletのバージョン。
http://moruho.cocolog-nifty.com/blog/2010/10/tomcatservletjs.html
- まず、プロジェクトの設定から、ProjectFacetsで、DynamicWebModuleに変換、Versionは2.5にした。
- DeploymentAssemblyで、src/main/webapp を追加。
- src/main/webapp配下のwet.xmlのweb-appタグの、schemaLocationとversionが2.5でであることを確認。(違うとエラーになる)
「2.5」はServletのバージョン。
http://moruho.cocolog-nifty.com/blog/2010/10/tomcatservletjs.html
2013年9月8日日曜日
Rspec + Capybara でNoMethodError
実行するとこんなエラーがでる。
NoMethodError:
undefined method `visit' for #<RSpec::Core::ExampleGroup::Nested_1::Nested_1:0x00000004522160>
NoMethodError:
undefined method `visit' for #<RSpec::Core::ExampleGroup::Nested_1::Nested_1:0x00000004522160>
spec/spec_helper.rb
に以下を追記するとうまくいった.
config.include Capybara::DSL
そのままだけど、
capybaraのDSLをincludeする必要があるらしい。
※DSL = Domain Specific Language(ドメイン固有言語)
Ruby on Rails その2
rails consoleコマンドが動かない。。
#rails console
/root/.rbenv/versions/1.9.3-p448/lib/ruby/1.9.1/irb/completion.rb:9:in `require': cannot load such file -- readline (LoadError)
from /root/.rbenv/versions/1.9.3-p448/lib/ruby/1.9.1/irb/completion.rb:9:in `<top (required)>'
どうやら、readlineライブラリ見つからないらしい。。。
rubyに標準で含まれるライブラリっぽいので、rubyを再インストールしてみる。
#rbenv install 1.9.3-p448
だめだった。。。
Gemfileに以下を追加して、
gem 'rb-readline'
#bundle install
すると、
Installing rb-readline (0.5.0)
#rails console
/root/.rbenv/versions/1.9.3-p448/lib/ruby/1.9.1/irb/completion.rb:9:in `require': cannot load such file -- readline (LoadError)
from /root/.rbenv/versions/1.9.3-p448/lib/ruby/1.9.1/irb/completion.rb:9:in `<top (required)>'
どうやら、readlineライブラリ見つからないらしい。。。
rubyに標準で含まれるライブラリっぽいので、rubyを再インストールしてみる。
#rbenv install 1.9.3-p448
だめだった。。。
Gemfileに以下を追加して、
gem 'rb-readline'
#bundle install
すると、
Installing rb-readline (0.5.0)
おっ、インストールされたっぽい。
#rails console
Loading development environment (Rails 3.2.14)
/root/.rbenv/versions/1.9.3-p448/lib/ruby/1.9.1/irb/input-method.rb:113:in `gets': uninitialized constant IRB::ReadlineInputMethod::Readline (NameError)
from /root/.rbenv/versions/1.9.3-p448/lib/ruby/1.9.1/irb.rb:139:in `block (2 levels) in eval_input'
ぐぐったら、rubyインストール時に、redline-develがないとだめらしい。
#yum install readline-devel.x86_64
i686(32bit)とx86_64(64bit)用がある
一度アンインストールしてから、再インストールしてみる。
#gem uninstall rb-readline
#bundle install
Loading development environment (Rails 3.2.14)
/root/.rbenv/versions/1.9.3-p448/lib/ruby/1.9.1/irb/input-method.rb:113:in `gets': uninitialized constant IRB::ReadlineInputMethod::Readline (NameError)
from /root/.rbenv/versions/1.9.3-p448/lib/ruby/1.9.1/irb.rb:139:in `block (2 levels) in eval_input'
同じでした。。。
#gem uninstall rb-readline
してから、rubyを再々インストール
#rbenv install 1.9.3-p448
#rbenv install 1.9.3-p448
うまくいった!
2013年9月1日日曜日
centos6.4にRuby on Rails をインストール
複数バージョンのrubyを扱えるrbenvを使ってみる。
以下のサイトを参考にインストール
http://www.oiax.jp/rails/zakkan/rails_3_2_installation_on_ubuntu.html
http://tsuchikazu.net/linux_ruby_on_rails_install/
必要なパッケージは、とりあえずg++のみインストール
yum install gcc-c++
ruby on railsの参考サイト
以下のサイトを参考にインストール
http://www.oiax.jp/rails/zakkan/rails_3_2_installation_on_ubuntu.html
http://tsuchikazu.net/linux_ruby_on_rails_install/
必要なパッケージは、とりあえずg++のみインストール
yum install gcc-c++
g++はc,c++のコンパイラらしい
rubyで開発するにあたって、
- rbenv ・・・rubyのバージョンを管理する
- bundler ・・・gemをプロジェクトごとに管理する(gemを管理するけど、gemコマンドでインストールする)
は必要なものらしい。。。
railsには、SQLiteが必要らしい。
SQLite自体はすでに入っていたので、develをインストール
yum install sqlite-devel
develファイルは、開発に必要なライブラリオブジェクトやヘッダファイル(lib***.soや***.h)が含まれているもの。コンパイルに必要らしい
ruby on railsの参考サイト
2013年6月11日火曜日
ubuntu12.04にPassengerをインストールする
passengerをインストールする。
$sudo gem install passenger
$sudo passenger-install-apache2-module
apache2の設定
・mods-available/mod_passenger.load
LoadModule passenger_module /var/lib/gems/1.9.1/gems/passenger-4.0.5/libout/apache2/mod_passenger.so
・mods-available/mod_passenger.conf
PassengerRoot /var/lib/gems/1.9.1/gems/passenger-4.0.5
PassengerDefaultRuby /usr/bin/ruby1.9.1
RailsBaseURI /redmine
mods-enabled/ にリンクを作成する。
ln -s ../mods-available/mod_passenger.load mod_passenger.load
ln -s ../mods-available/mod_passenger.conf mod_passenger.conf
DocumentRootの設定はすでに設定済みなので、DocumentRoot配下にリンクを作成する。
ln -s /var/lib/redmine-2.3.1/public /var/www/redmine
apacheを再起動
sudo /etc/init.d/apache2 restart
http:/{address}/redmine/
で表示された。
webrickよりさくさく動く。
$sudo gem install passenger
$sudo passenger-install-apache2-module
apache2の設定
・mods-available/mod_passenger.load
LoadModule passenger_module /var/lib/gems/1.9.1/gems/passenger-4.0.5/libout/apache2/mod_passenger.so
・mods-available/mod_passenger.conf
PassengerRoot /var/lib/gems/1.9.1/gems/passenger-4.0.5
PassengerDefaultRuby /usr/bin/ruby1.9.1
RailsBaseURI /redmine
mods-enabled/ にリンクを作成する。
ln -s ../mods-available/mod_passenger.load mod_passenger.load
ln -s ../mods-available/mod_passenger.conf mod_passenger.conf
DocumentRootの設定はすでに設定済みなので、DocumentRoot配下にリンクを作成する。
ln -s /var/lib/redmine-2.3.1/public /var/www/redmine
apacheを再起動
sudo /etc/init.d/apache2 restart
http:/{address}/redmine/
で表示された。
webrickよりさくさく動く。
2013年5月26日日曜日
redmine2.3.1をubuntu12.04へインストール
まず、redmineをwgetで取得。
wget http://rubyforge.org/frs/download.php/76933/redmine-2.3.1.tar.gz
解凍
tar zxvf redmine-2.3.1.tar.gz
適当にディレクトリ移動
sudo mv redmine-2.3.1/ /var/lib/
/var/lib/redmine-2.3.1/config/へ移動して、
exampleを参考にしてdatabase.ymlを設定。
mysql5.5はすでにインストール済みなので、redmineで使用するdbとuserを作成しておく。
/var/lib/redmine-2.3.1 で
bundle install --without development test postgresql sqlite
(bundlerはrubygemsのラッパーらしい、プロジェクト毎にgem(rubyのライブラリ)を管理できるらしい)
エラーが、、Can't install RMagick 2.13.1. Can't find Magick-config
imagemagickはubuntuにインストール済みだが、rmagickをインストールする必要があるらしい。
仕方がないので、aptでインストール。
sudo apt-cache search imagemagick (検索)
sudo apt-get install librmagick-ruby1.8(インストール)
もう一度やってみる。
sudo bundle install --without development test postgresql sqlite
あれっ、Installing rmagick(2.13.2)
のところで同じエラーが・・・
rmagicインストール済みなので、rmagickをinstallしない様にする。
bundle install --without development test postgresql sqlite rmagick
rake generate_secret_token
rakeはビルドファイルをrubyで書いたAntみたいなものらしい。
テーブル作成
RAILS_ENV=production rake db:migrate
データ投入
RAILS_ENV=production rake redmine:load_default_data
Webrick起動
ruby script/rails server webrick -e production
webrickはrubyで書かれたhttpサーバらしい。
admin/adminでログインできた!
登録:
投稿 (Atom)