48V エコシステムとパワ エコシステムとパワ エコシステムと ...…1 48V エコシステムとパワーパッケージングのトレンド Dr. Ajay Sattu, Sr
30億のデバイスで走るjavaを支えるjavaエコシステム
-
Upload
mikeneck-mochida -
Category
Documents
-
view
2.004 -
download
5
description
Transcript of 30億のデバイスで走るjavaを支えるjavaエコシステム
クイズです。
• Javaが走ってないものを当てよ
• 火星探査車(Spirit)
• Android
• Blue-ray装置
クイズです。
• Javaが走ってないものを当てよ
• 火星探査車(Spirit)
• Android
• Blue-ray装置
理由• Write Once, Run Anywhere でないから
• ある端末で走るのに、他の端末で走らないとかよくありますね…
• Java標準のAPIが使えないから
• JSR173(StAX)とかJSONP(JSR353)とか
• いや、そもそもJVMじゃないし…
•30億のデバイスで走るJavaとかおおそれたタイトルですが…
•30億のデバイスで走るJavaを支えるJavaエコシステムの話をします。
期待していいこと
• Maven Central Repoのポリシーを覚える
期待していいこと
期待できないこと
• Mavenの使い方
• Groovy/Gradleの話だとか
• IntelliJ IDEAの話とか
• 面白いオチとか
期待できないこと
• もちださん(@mike_neck)
• Groovy、IntelliJ IDEA
• フリーのプログラマーですが、諸事情により云々かんぬん…
• ブログ : mike-neck.github.io
もっかい自己紹介
ドラクエやってます• 名前:ひめ(IG506-769)
• チーム:ぶんちんバスターズ
• メイン職業:スーパースター(lv.70)
• 強ボスは僧侶で参戦
ライブラリーを知り、ライブラリーを使う• 「標準ライブラリーを使用することで、それを書いた専門家の知識と、それをあなたよりも前に使用した人々の経験を利用することになります」 (『Effective Java』項目47より)
プロジェクトでのライブラリーの管理どうしますか?
• 各自でライブラリーを落としてきてパスに加える
• VCSに入れておく
• Ivy/Maven/Gradleで管理する
•ライブラリーの管理はIvy/Maven/Gradleを使いましょう
Maven Centralの悩み
• 我々(Sonatype OSS repository)がApacheやCodehausなどの大きな組織のレポジトリーとの同期を始めた時、これらの組織がレポジトリーの品質に注意を払うだろうと楽観視していた。しかし、実際のところ、怪しいライブラリーが散見された。
(Improving Maven Central and Supporting Maven Ecosystem - http://blog.sonatype.com/people/2010/01/nexus-oss-ecosystem/)
• Maven Centralにないartifactがアップロードされる
• メタデータ/javadoc.jar/source.jarがない
• GPG signatureがない
• POMに開発者情報がない
• artifactの依存情報とPOMの内容が異なる
具体的にあった問題
Central Sync Requirement - 1
Central Sync Requirement - 1• <modelVersion> - 4.0.0
• <groupId> - ちゃんとしたドメインを使うこと
• <artifactId> - ライブラリー・モジュールの名前
• <version> - SNAPSHOTはダメ
• <packaging> - jarまたはwar
• <name> - プロジェクトの名前
• <description> - プロジェクトの概要
• <url> - プロジェクトのURL
• <licenses> - ライセンス形態を記述
• <scm><url> - SCMツールのURL (githubとかbitbucketとか)
• <scm><connection> - SCMのプロトコルを含めたURL
• <developers> - 開発者の情報
Central Sync Requirement - 2
Central Sync Requirement - 2
• -sources.jarを含めること• -javadoc.jarを含めること• artifact.jar、javadoc.jar、sources.jar、pomの
GPG署名を付けること• maven centralにない依存ライブラリーをpomに記述しないこと• Seasarプロジェクトのライブラリーとか…
Central Sync Requirement覚えた?
詳しく知りたい方は
http://samuraism.jp/diary/2012/05/03/1336047480000.html
http://mike-neck.github.io/blog/2013/06/19/publish-maven-artifact-with-sign-files-1/
ご静聴ありがとうございました。