SpringのDIが超べんり
warファイルの Property を war の外に出したいなぁ、と思っていると素敵な記事を発見。
http://ameblo.jp/spring-beginner/entry-10292117122.html
applicationContext.xml を以下のように記述してやればUTF-8のプロパティファイルにも対応出来ちゃう。
<!-- properties --> <bean id="testProperty" class="org.springframework.beans.factory.config.PropertiesFactoryBean"> <property name="locations"> <list> <value>file:c:/test/test1.properties</value> <value>file:c:/test/test2.properties</value> </list> </property> <property name="fileEncoding" value="UTF-8" /> </bean>
上記、file:c の部分を Jetty の resources に出来ないかなぁ、と調査中。
(追記)ここ見るとはじめからresourcesにクラスパスが通っているっぽい。
http://wiki.eclipse.org/Jetty/Reference/Jetty_Classloading
なので file: を classpath: に変更してあげれば普通に外出しして使える。
slf4jのlogback.xml
ファイルのローテーションがうまく出来なくて悩んだのでメモ。
<configuration> <!-- logをファイルに出力 --> <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <File>/var/log/slf4jTest.log</File> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <FileNamePattern>/var/log/slf4jTest.%d{yyyy-MM-dd}.log</FileNamePattern> <MaxHistory>7</MaxHistory> </rollingPolicy> <encoder> <charset>UTF-8</charset> <Pattern>[%-5level][%d{yyyy-MM-dd HH:mm:ss.SSS}] %class - %msg%n</Pattern> </encoder> </appender> <!-- logを標準出力に出力 --> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <Target>System.out</Target> <encoder> <Pattern>[%-5level][%d{yyyy-MM-dd HH:mm:ss.SSS}] %class - %msg%n</Pattern> </encoder> </appender> <!-- ログ出力に関する設定 --> <root> <level value="info" /> <appender-ref ref="FILE" /> <appender-ref ref="STDOUT" /> </root> </configuration>
あと、特定のパッケージ毎にログレベルを指定出来るっぽい!すごいね!!!
参考URL:
http://kumagonjp2.blog.fc2.com/blog-entry-43.html
http://www.slf4j.org/extensions.html
追記)
↑の
ていうか、はてなダイアリーでソースコードを書く方法を初めて知ったっていう(汗
ソースコードを色付けして記述する(シンタックス・ハイライト)
mavenで依存ライブラリ込みのjarを作る件
Mavenの依存ライブラリを含むjavaをjarにして、java -jar で実行したかったのですが。
どうにもうまくいかない事があったのでメモ。
jarの作り方は『maven 依存ライブラリ jar』で、google検索したらいっぱい出てくるので、
そのまんま丸コピしたら出来た。
でも、実行時になぜかメインクラスがjarに含まれないって怒られて困った。
Eclipseのm2eプラグインを入れて開発しているんだけれども、
ビルド時に、実行>Maven install でビルドしていたのがいけないっぽい。
実行>実行の構成でワークスペースの参照後、ゴールにpackageを指定したらうまく出来た。
installとpackageの違いってなんなんだろうねーヽ(´Д`;)ノアゥ...
mimeDecodeをインストール
yumが便利!!
去年末くらいにServersman@VPSさんのサービスを利用しはじめました。
その時、色々とパッケージをインストールするときに役に立ったのがyumコマンド!!
まず、yum とは何者なのか?
Yellow dog Updater,Modified の略で、パッケージのインストールやアップグレードを簡単にしてくれる便利なコマンドです。
今まで僕は、パッケージをインストールする為に、まずパッケージを配布しているサイトをみつけて、モジュールをダウンロード、サーバー上で解凍してインストール、とかしていました。
でも、yumならそんなまどろっこしい事しなくても、以下のような感じで簡単にインストールが出来ます。
$ yum install パッケージの名前
超簡単。
yumは、パッケージの名前をたよりに、リポジトリというパッケージのまとめサイトみたいな場所を見に行って、そこからパッケージをダウンロードするそうです。
だから、わざわざ自分で「どこからパッケージをダウンロードすりゃええのん?」などと、悩む必要がないのです。
※ちなみにリポジトリの設定は以下のディレクトリで確認できました。
/etc/yum.repos.d/(CentOS release 3以上)
/etc/yum.conf(CentOS release 3未満)
yumの便利なコマンド [確認]
インストール済みパッケージの一覧
$ yum list installed
インストール可能なパッケージの一覧
$ yum list
インストールしたパッケージでアップデート可能な一覧
$ yum list updates
パッケージの情報を表示
$ yum info パッケージの名前
特定のファイルが提供されているパッケージ名を調べる
$ yum provides パッケージ名
yumの便利なコマンド [管理]
パッケージをインストールする
$ yum install パッケージ名
パッケージをアップデートする
$ yum update パッケージ名
パッケージをアンインストールする
$ yum remove パッケージ名
パッケージを削除する
$ yum clean packages
■
メモ
成長しないエンジニアの悪習慣
http://hiroki.jp/2011/01/18/1492/