あなたがする必要がこれら3のMavenの使い方!

この記事では、プライベートサーバに(リアル)によりパッケージのmavenカスタムプラグイン(エントリー戦闘)原型カスタムテンプレート(本当の)環境をご紹介します、多くの場合、3つの操作を必要としています。

1、カスタムテンプレートの原型

1.1原型とは何ですか

私たちは、Mavenプロジェクトを作成するときは、非常に多くのApacheテンプレート提供があることがわかります。 

あなたがする必要がこれら3のMavenの使い方!

またはMVN原型を使用します。生成するコマンドをすばやくMavenプロジェクトを作成するには、テンプレート番号を選択させ、多くのオプションがあるでしょう。その各テンプレートの違いは何ですか?

各テンプレートは、実際には異なる依存関係やプラグインが同梱されています。会社では一般的にPWは原型テンプレートが良いプロジェクトで使用されるデバッグの依存関係とバージョン番号を持っている会社に属しています。

1.2、原型を作成します

彼らはMavenプロジェクトを持っている場合は、プロジェクトが原型のテンプレートを作成したいと思います。

CDには、プロジェクトのルートディレクトリ(のpom.xml同じディレクトリ)を実行します。

あなたがする必要がこれら3のMavenの使い方!

このとき、ファイルは、プロジェクトの目標の下で生成されます。

あなたがする必要がこれら3のMavenの使い方!

1.3、原型のテンプレートを生成

先cdtarget /生成された、ソース/アーキタイプ/

そして、実行MVNインストール

正常に実行された後、実行クロールコマンドは、ローカルリポジトリのルートディレクトリに原型-のcatalog.xmlフレームワークの構成ファイルを生成します。

mvnarchetype:クロール

あなたがする必要がこれら3のMavenの使い方!

その内のコンテンツを見てみましょう:

あなたがする必要がこれら3のMavenの使い方!

原型のテンプレートを使用して1.4、

MVN原型を実行します。テンプレートを作成するローカル原型から-DarchetypeCatalog =ローカルのプロジェクトを生成します。

あなたがする必要がこれら3のMavenの使い方!

その後、テンプレートとグループID成果物のバージョン番号とパッケージ情報を選択してみましょう:

あなたがする必要がこれら3のMavenの使い方!

プロジェクトの作成に成功!

もちろん、あなたも私たちは、グラフィカルインタフェースを使用して原型テンプレートを使用してプロジェクトを作成するためのアイデアを使用することができます。

あなたがする必要がこれら3のMavenの使い方!

あなたがする必要がこれら3のMavenの使い方!

あなたがする必要がこれら3のMavenの使い方!

戻る同じと共通のプロジェクトを作成し、プレゼンテーションを行います。

2、カスタムプラグイン

私は簡単な例を行うにはちょうどここにいる、より複雑な機能の開発、モジョのAPIを参照してください。

https://maven.apache.org/developers/mojo-api-specification.html

2.1、插件提供者

插件提供者项目结构:

あなたがする必要がこれら3のMavenの使い方!

2.1.1、修改packaging

あなたがする必要がこれら3のMavenの使い方!

2.1.2、修改pom

あなたがする必要がこれら3のMavenの使い方!

这两个依赖是自定义插件必须的依赖,代表了它是一个Mojo工程,里面包含了一些Mojo的接口和抽象类以及注解。

2.1.3、coding业务逻辑

あなたがする必要がこれら3のMavenの使い方!

注意这里面的@Parameter @Mojo LifecyclePhase.PACKAGE都是org.apache.maven.plugins.annotations包下的:

あなたがする必要がこれら3のMavenの使い方!

@Parameter注解会获取消费者配置文件中的变量值并赋值。

defaultPhase =LifecyclePhase.PACKAGE声明了该插件触发的生命周期。

@Mojo定义插件的goal名字。

2.1.4、clean and install

执行mvn clean install,在target目录下会生成这样一个jar包,这就是插件包。

あなたがする必要がこれら3のMavenの使い方!

2.2、插件消费者

插件消费者 : 项目结构

あなたがする必要がこれら3のMavenの使い方!

2.2.1、修改pom

あなたがする必要がこれら3のMavenの使い方!

如果不加,我们只能通过执行插件或者执行命令的方式来执行,如果想让它在执行package的时候自动执行,就需要设置该属性,可以把它理解成hook。

2.2.2、如何传递参数给plugin

在插件提供者中,有个MyMojo的类,有这样一段代码:

あなたがする必要がこれら3のMavenの使い方!

它和你用过的spring注解一样,也是用来以注解的形式获取参数的值。

相对应的,在插件消费者的配置中我们就应该相应的给出参数的定义:

あなたがする必要がこれら3のMavenの使い方!

上面的配置与变量名一一对应即可。这时候你会发现maven插件中自动会添加一个plugins选项:

あなたがする必要がこれら3のMavenの使い方!

执行该插件:mvnmyprovide:fantj 或者直接点击:

あなたがする必要がこれら3のMavenの使い方!

3、Profile按环境打包

在日常开发中,我们项目的开发环境和生产环境以及测试环境往往是不同的,比如:数据库的url等。在项目上生产环境时,就需要修改这些参数,给开发造成不便。为了解决该问题,Maven 2.0引入了构建配置文件的概念(build profiles)。

它能干什么呢?

異なる環境の設定を必要に応じて、本番環境設定ファイルがpro.propertiesで、開発環境の設定ファイルがdev.propertiesあるMavenのプロファイルを使用したパッケージのみが本番環境と開発環境をdevのだろうと、それから、あなたは開発環境のjarパッケージを達成することができます.propertiesファイルのパッケージと同じように、パッケージの使用、生産環境。

どこ声明それは?

これは、下記のとおり、地球環境にMavenのsetting.xmlをも設定することができますMavenのsetting.xmlユーザーの下で宣言することができ、各プロジェクトのpom.xmlファイル内で宣言することができます。

1.Perプロジェクト
POM自身(のpom.xml)で定義されます。

2.Perユーザ
のMaven-設定で定義され(%USER_HOME%/。2 /のsettings.xml)

3.Global
globalMaven-設定($ {maven.home} /conf/settings.xml)に定義

4.Profile記述子は
、詳細は3.0をサポートしていません。

https://cwiki.apache.org/MAVEN/maven-3x-compatibility-notes.html#Maven3.xCompatibilityNotes-profiles.xml

そこに非常に多くの方法がある定義しますが、我々は、一般的に最初のポンポンで定義されている使用していますが、必ずしもので、各プロジェクトの本番環境で、もちろん、これは個人的な事情によるもので、まったく同じです。

リアル

3.1、プロジェクト構造

あなたがする必要がこれら3のMavenの使い方!

3.2、のpom.xml

あなたがする必要がこれら3のMavenの使い方!

3.3、3 application.properties

あなたがする必要がこれら3のMavenの使い方!

3.4、梱包

あなたがする必要がこれら3のMavenの使い方!

あなたがする必要がこれら3のMavenの使い方!

私たちはプロ/ application.propertiesがコンパイルされて見ることができます。

おすすめ

転載: blog.51cto.com/14570694/2446599