kmg-core(以降は、「KMGコア」と言う。)は、KMGシリーズのJavaアプリケーション開発のための基盤となるコアです。
特徴は、フレームワークなどを依存関係が少なく多くのプロジェクトで使用できるように構成されています。
本プロジェクトは、以下の機能を提供します:
- 共通ユーティリティクラス群
- 基本データ型の拡張機能
- 標準化された型定義
- 汎用的なメッセージ処理
kmg-core/
├── src/
│ ├── main/java/kmg/core/
│ │ ├── domain/
│ │ │ ├── service/ # ドメインサービス
│ │ │ │ └── impl/ # サービス実装
│ │ │ └── types/ # ドメイン型定義
│ │ └── infrastructure/
│ │ ├── common/ # 共通機能
│ │ ├── exception/ # 例外処理
│ │ ├── model/ # モデル
│ │ │ └── impl/ # モデル実装
│ │ ├── type/ # 型定義
│ │ ├── types/ # 型定義(列挙型など)
│ │ │ └── template/ # テンプレート型
│ │ └── utils/ # ユーティリティクラス
│ └── test/java/kmg/core/
│ ├── domain/
│ │ ├── service/ # サービステスト
│ │ │ └── impl/ # 実装テスト
│ │ └── types/ # 型定義テスト
│ ├── infrastructure/
│ │ ├── exception/ # 例外テスト
│ │ ├── model/ # モデルテスト
│ │ │ └── impl/ # 実装テスト
│ │ ├── type/ # 型テスト
│ │ ├── types/ # 型定義テスト
│ │ │ └── template/ # テンプレートテスト
│ │ └── utils/ # ユーティリティテスト
│ └── test/ # テストユーティリティ
├── doc/ # ドキュメント
│ ├── RELEASE.md # リリース手順
│ └── メッセージ一覧.xlsx # メッセージ定義
└── pom.xml # Maven設定ファイル
- Java 21
- Maven 3.x
- JUnit Jupiter 5.10.2
- Apache POI 5.2.5
- Mockito 5.11.0
- Maven Compiler Plugin 3.12.1
- Maven Surefire Plugin 3.2.5(JUnitテストレポート用)
- JaCoCo Maven Plugin 0.8.11(カバレッジレポート用)
- グループID: kmg.core
- アーティファクトID: kmg-core
- バージョン: 1.0.0
- エンコーディング: UTF-8
mvn clean install
mvn test
リリースプロセスの詳細については、リリース手順を参照してください。
リリースは以下の2つの方法で実行できます:
- 自動リリーススクリプト(
scripts/release.bat
)を使用 - 手動でリリースプロセスを実行
各リリースは以下の品質基準を満たす必要があります:
- テストカバレッジ100%
- すべてのテストが成功
- セキュリティチェックをパス
KmgArrayUtils
- 配列操作KmgListUtils
- リスト操作KmgMapUtils
- マップ操作KmgMessageUtils
- メッセージ処理KmgPathUtils
- パス操作KmgPoiUtils
- Excel操作KmgLocalDateUtils
- 日付操作KmgLocalDateTimeUtils
- 日時操作
KmgTemplateTypes
- テンプレート型KmgDbTypes
- データベース関連型KmgCharsetTypes
- 文字セット型KmgTimeUnitTypes
- 時間単位型KmgLogMessageTypes
- ログメッセージ型KmgDelimiterTypes
- 区切り文字型KmgDbDataTypeTypes
- データベースデータ型
kmg.core.template
パッケージには、他のプロジェクトで再利用可能なテンプレートコードが含まれています。
- 必要なテンプレートコードを対象プロジェクトにコピー
- パッケージ名を対象プロジェクトに合わせて変更
- 必要に応じてカスタマイズ
KmgTemplateTypes
: 列挙型のテンプレート- 表示名、キー、詳細情報を持つ基本的な列挙型の実装例
- マップによる値の管理とルックアップ機能の実装例
本プロジェクトはLICENSEファイルに記載の条件の下で提供されています。
バグ報告や機能改善の提案は、GitHubのIssueを通じてお願いします。