Javaのウェブ学習19:Mavenの基礎
A:Mavenの概要
Mavenはプロジェクトオブジェクトモデルを含むプロジェクト管理ツールである(POM:プロジェクトオブジェクトモデル)
問題を解決するため1.Maven
(1)は、プロジェクトをビルドすることができます管理のjarパッケージを、もはや各プロジェクトのjarパッケージをインポートする必要がありません
(2)コンパイルされたコード
(3)また、あなたが自動的にユニットテストを実行するのを助けることができます
(4)パッケージは、レポートを生成warファイル生成サーバーにデプロイします
(5)にも助けますが、Webサイトを生成するためのプロジェクトを展開します
2.Maven依存関係の管理
我々は(モジュールまたはサブプロジェクトの数百人が含まれます)プロジェクトのマルチモジュールを参照すると、依存関係を管理することは困難な作業になります。Mavenは、それがこの状況に対処する必要がある高度の制御を示します。
Mavenのプロジェクトに直接ジャーパッケージには必要はない、しかしのpom.xml(プロファイル)によって追加されたJARパッケージを調整することができます。
私たちはその座標に従って**専用**「ストレージのjarパッケージ倉庫」(Mavenのリポジトリ)に、長いルックpom.xmlファイルは、座標のpom.xmlファイルなどのように、jarファイルパッケージを必要としていますこれらのjarパッケージを見つけ、その後、これらのjarパッケージテイクを実行します。
2:Mavenのリポジトリ
分類Mavenのリポジトリ
(1)ローカル倉庫:**リモートリポジトリまたは中央倉庫やプラグジャーパッケージからダウンロードし格納するために使用される、いくつかのプラグインまたはJARパッケージを使用するプロジェクトは、**ローカル倉庫からデフォルトのローカル倉庫の場所を検索することになります
{}はuser.dir窓ユーザディレクトリを示しています。
注:のsettings.xml Mavenのローカルリポジトリパスのディレクトリ内の構成
のsettings.xml構成ファイル
(2)リモートリポジトリ:ローカルは、プラグインや瓶のパッケージが必要な場合は、いないローカルリポジトリ、ダウンロードにデフォルトのリモートリポジトリ。インターネットでのリモートリポジトリはLANにすることができます。
(3)中央倉庫:内蔵のソフトウェアのMavenリモートリポジトリのアドレスhttp://repo1.maven.org/maven2は、機能する中央倉庫で、インターネット全体のMaven自身のチームによって維持され、非常に完全な保存されています世界で最も人気のあるオープンソースのプロジェクトメンバーを含むJARパッケージ。
3:Mavenプロジェクト構造
SRC /メイン/ javaの - ストレージ・プロジェクトの.javaファイル
SRC /メイン** /リソース - ストレージ・プロジェクトのリソースファイル**、ばねのような、休止状態の設定ファイル
SRC /テスト/ javaの - すべての細胞は、このようなクラスのJUnitテストとして.javaファイルを、テストした保管
SRC /テスト/リソース - テストリソースファイル
**target —— 项目输出位置,编译后的class 文件会输出到此目录
pom.xml——maven 项目核心配置文件
四:Maven 的概念模型
1:项目对象模型
(Project Object Model)一个 maven 工程都有一个 pom.xml 文件,通过 pom.xml 文件定义项目的坐标、项目依赖、项目信息、插件目标等。
2:依赖管理系统
(Dependency Management System)通过 maven 的依赖管理对项目所依赖的 jar 包进行统一管理。
依赖管理系统
provided:provided 依赖只有在当 JDK 或者一个容器已提供该依赖之后才使用, provided 依赖在编译和测试时需要,在运行时不需要,比如:servlet api 被 tomcat 容器提供。
runtime:runtime 依赖在运行和测试系统的时候需要,但在编译的时候不需要。比如:jdbc
的驱动包。由于运行时需要所以 runtime 范围的依赖会被打包。
test:test 范围依赖 在编译和运行时都不需要,它们只有在测试编译和测试运行阶段可用,
比如:junit。由于运行时不需要所以test范围依赖不会被打包。
测试总结:
默认引入 的 jar 包 ------- compile 【默认范围 可以不写】(编译、测试、运行 都有效 )
servlet-api 、jsp-api ------- provided (编译、测试 有效, 运行时无效 防止和 tomcat 下 jar 冲突)
jdbc 驱动 jar 包 ---- runtime (测试、运行 有效 )
junit ----- test (测试有效)
项目中添加的坐标
设置jdk编译版本和tomcat编译版本(设置成固定写法setting中)
pom.xml中配置
此时点击 idea最右侧 Maven Projects,就可以看到我们新添加的tomcat7 插件双击 tomcat7插件下tomcat7:run 命令直接运行项目,端口号是8888
3:项目生命周期(lifecycle)
使用 maven 完成项目的构建,项目构建包括:清理、编译、测试、部署等过程,maven 将这些过程规范为一个生命周期,生命周期的各各阶段:
Clean Lifecycle 在进行真正的构建之前进行一些清理工作。
Default Lifecycle 构建的核心部分,编译,测试,打包,部署等等。
Site Lifecycle 生成项目报告,站点,发布站点。
compile:编译
clean:清理
test:测试
package:打包
install:安装