自作ライブラリを配布するときに、ライブラリが依存する外部ライブラリを同梱したい場合があります。しかしフツーに同梱・配布してしまうと、ライブラリを利用するプログラムの依存関係と衝突してしまってトラブルになりかねません。バージョンの違うロギングライブラリの衝突で苦労された方は少なくないのではないでしょうか。 appengineのSDKでは依存するユーティリティライブラリのパッケージを書き換える(repackageする)ことでこの問題を回避しているようです。Mavenで同じようなことができないかなと探したところ、maven-shade-pluginのrelocation機能を使うことで実現することができました。 例えば以下のようにpom.xmlに書いておくと、org.apacheパッケージを自動的にorg.apache.repackagedに書き換えた上で同梱してくれます。バイトコード改変という
blog1.mammb.com と関連して maven-assembly-pluginの利用 Maven Assembly Plugin を使うと、外部の依存jarファイルを解凍して、プロジェクトの成果物と合わせて1つの jar ファイルを作成できます。FatJar なんて言われています。 <?xml version="1.0"?> <project ・・ ・・ <build> <plugins> ・・ <plugin> <artifactId>maven-assembly-plugin</artifactId> <version>2.2</version> <configuration> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> <archive> <ma
スローダウン、ハングを一発解決 スレッドダンプはトラブルシューティングの味方 #wlstudyAI-enhanced description The document discusses slowdowns, hangs, and thread dumps in troubleshooting Java applications. It explains that thread dumps provide a snapshot of thread states and what each thread is doing at a point in time. This can help identify issues like threads getting stuck or competing for resources. The document also demonstrates e
あなたにとって重要なトピックや同僚の最新情報を入手しましょう最新の洞察とトレンドに関する最新情報を即座に受け取りましょう。 継続的な学習のために、無料のリソースに手軽にアクセスしましょうミニブック、トランスクリプト付き動画、およびトレーニング教材。 記事を保存して、いつでも読むことができます記事をブックマークして、準備ができたらいつでも読めます。
あのWebサービスもJVMを利用している 「Javaは大規模なエンタープライズシステムにしか使われない」 それが常識だと思っていませんか? たしかに、これまでJava Virtual Machine(JVM)は、他の言語を実行すると遅く、Javaのプログラムを実行する環境にすぎないものでした。ところが、Java 7から実装されたInvokeDynamicにより、JVM上で、RubyやPHPなどさまざまなコンピュータ言語で記述されたプログラムをより高速に実行できるようになりました。 これにより、今までエンタープライズでJava言語で記述されたプログラムを実行するだけの環境であったJVMが、汎用的な実行環境になったと言えます。また、これまでJavaの実行環境として使用されていたノウハウが、他の言語で記述されたプログラムを実行する際にも利用できます。 最近では、TwitterがJVMをアプリケー
Learning to write code efficiently is only one step towards becoming a coding master. Another step is learning to debug. When it comes to legacy or 3rd party code you will need to debug in order to understand how the code behaves. In this post I will give you some basic tips on how to master your debugger and become more efficient. This is a follow up to My Top 10 Tips on how to be more productive
今度の仕事で使いそうなのでメモ ComparatorChainとBeanComparatorでbeanのソートが簡単にできる。 ソートキーが複数ある場合は、条件を追加できる。 これ便利だな~ 【利用したjarファイル】 commons-beanutils-1.8.3.jar commons-logging-1.1.1.jar commons-collections-3.2.jar ダウンロードページ 【ソースコード】 Test.java package jp.co.haman.main; import java.util.ArrayList; import java.util.Collections; import java.util.List; import org.apache.commons.beanutils.BeanComparator; import org.apache.co
忘年会シーズンで肝臓への負担を極力避けている@masudaKです。今回はJavaアプリケーションの運用のポイントに関して、書いてみたいと思います。 このエントリはJava Advent Calendar 2012の22日目のエントリです。 Javaアプリケーションの運用ポイントとは 昨今ではLLのほうが敷居が低く、開発スピードも早いということからか、PHPやRubyなどのLLによるWebアプリケーションが多くリリースされているかと思います。 しかしながら、TwitterがJVMベースの開発にシフトしたように、より深いレベルで実装を行おうとした際にLL以外の実装も一つの選択肢として残っているのは間違いないでしょう。 そのようななかで自分が最もよく触れているJavaでのアプリケーションの運用ポイントについて述べてみたいと思います。 ここでいう「運用」とは、サービスをリリースしたのち、サービスへ
MG4J (Managing Gigabytes for Java) is a free full-text search engine for large document collections written in Java. With release 1.1, MG4J becomes a highly customisable, high-performance, full-fledged search engine providing state-of-the-art features (such as BM25 scoring) and new research algorithms. Release 2.0 significantly improved performance and introduced several new features. Warning: R
こんばんは。[twitter:@bikisuke] です。 今日の Advent Calendar ネタは、Spock です。 僕は G* 一派だからという贔屓目は抜きにしても、Java のテスティングフレームワークとして Spock はもっと評価されるべきじゃないかと思ってます。 なので、今回はその辺りに触れつつ、密かに企んでいることについて書きたいと思います。 Spock のいいところ 何と言っても、シンプルな記述ができるところは Spock の大きな魅力ではないでしょうか。もちろん、テスト対象クラス(機能)によっては複雑になることもあるかもしれませんが、可読性に関しては JUnit の比ではないと思ってます。 # これは Groovy と Java の言語特性や制約に依るところが大きいので、Spock が良くて JUnit がダメと言ってるわけではないです。念のため。 あと、拡張の仕
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く