2014-05-01から1ヶ月間の記事一覧

SonarQubeでJavaのコードを解析する(Maven編)

SonarQubeでは複数の方法でコード解析を実行することが出来ます。 SonarQube Runner スタンドアロンJavaアプリ Mavenプラグイン Antタスク Gradle CIサーバ Jenkins, Bambooなど MavenもしくはGradleで管理されたプロジェクトでは、それぞれ対応するプラグイ…

SonarQubeの公開ポート番号を変更する

SonarQubeをデフォルト設定でインストールした場合、9000番ポートとなり、公開する上でちょっと面倒な場合があります。普通の80番ポートで公開するにはいくつか選択肢があります。 SonarQubeの設定を変更する mod_proxyを使う mod_proxy_ajpを使う 1. SonarQ…

SonaQubeをCentOSにインストールする

SonarQubeサーバの実行には、JavaとMySQL等のデータベースが必要です。 データベースは初期設定でH2を使うようになっており、必ずしも用意しなければならないものではありません。しかし、これはあくまでも評価用であり、実際に利用するときは別途データベー…

Tomcat再起動時に [Abandoned connection cleanup thread] がメモリリークしてるという警告が出る場合の対応

Tomcat上のWebアプリケーションでMySQLのJDBCドライバを使用すると、Tomcat再起動時に以下のような警告が出力されます。 The web application [] appears to have started a thread named [Abandoned connection cleanup thread] but has failed to stop it.…

Spring SecurityのCSRF対策とServlet 3.0のMultipartをJava Configで設定する

はまったのでメモ。 やりたかったこと HTMLのFORMをPOSTするとき <input hidden name="_csrf" value="..." /> でCSRFトークンを送りつつMultipartでファイルアップロードしたい。 Springの設定はJava Configでやっていて、web.xmlは作っていない。今さらいろいろな設定をxmlにしたくない。 やってみた…

SonarQubeでMavenのMulti-moduleかつMulti-language

SonarQube 4.2からMulti-languageがサポートされました。これにより、例えばJavaとJavascriptが1つのMavenプロジェクト内に存在する場合でも、両方の言語の解析結果を見ることができるようになりました。 Multi-languageとして解析するために特別な設定は不…

SonarQubeでMavenのレポートを再利用する設定

最近リリースされたSonarQube 4.3から、SonarQube実行時にユニットテストを実行する機能である sonar.dynamicAnalysis が非推奨になりました。*1 SonarQube自身が様々なの言語への対応を進める中で、各言語のテストフレームワーク全てを実行できるようにする…