長い間、プロジェクトのアセンブリを自動化するためのツールである
Antについて聞いていましたが、どういうわけか彼にPHPのプロジェクトで実際のアプリケーションを見つけることができませんでした。 何もコンパイルする必要はないようです。外部ライブラリは
svn:externals
を介して接続できます。
$ phpunit AllTests.php
を介して自由に実行されるテストのみがあり、変更は
$ phpunit AllTests.php
サーバーに転送されました(
svn export
+小さなスクリプト)。
eclipseでのantの使用に関するかなり良い
記事でさえ、このツールの使用を勧めませんでした。ビルドファイルを書きたくありませんでした...
いつものようにVobschemすべて。 そのようなものは痛くないように思えますが、すべてが非常にうまく機能し、疑似支援技術を研究するにはあまりにも面倒でした。 それは私がJavaに会うまででした...
私の人生にJavaが登場したことで、自動ビルダーを使用するかどうかという問題は、それ自体では使用できなくなりました。 結局のところ、どのフリークがすべてのプロジェクトディレクトリのすべてのファイルを手動でコンパイルし、それらをサーブレットコンテナディレクトリに展開するためにコピーしますか? 非常に忍耐強く、怠け者ではありません。 しかし、怠は進歩のエンジンであり、私は...
mavenについて読み始めました。
彼がどうやって私に出会ったのかさえ知りません。 おそらく、Tomcatの基本を学習する過程でGoogleに依頼した後、このプログラムの存在についての知識を得ました。 これは、最初のJavaプロジェクトをデプロイするために必要なApacheの4番目の製品です。
Mavenはantの機能(ファイルのビルドとコピー、テストの実施)を組み合わせていますが、さらにプロジェクトライブラリの依存関係の解決に役立ち、非常に正式なライフサイクルを持ち、多くのプラグインを持ち、コマンドラインで同じ3文字をすべて使用します:
mvn
vs
ant
Mavenのライフサイクルは非常に期待されています。
validate
プロジェクトのメタ情報を検証しますcompile
-ソースをコンパイルしますtest
前のステップのクラステストを実行しますpackage
-コンパイルされたクラスを移植可能な形式(jarやwarなど)にパックしますintegration-test
-パッケージ化されたクラスを統合テスト環境に送信し、テストを実行しますverify
-パッケージが正しく、品質要件を満たしていることを検証しますinstall
-パッケージをローカルリポジトリにプッシュし、そこから(pechat)他のプロジェクトの依存関係として使用できるようにしますdeploy
パッケージをリモートの実稼働サーバーに送信します。他の開発者がパッケージを受け取り、使用することができます
この場合、すべての手順に一貫性があります。 また、たとえば、
$ mvn package
を実行すると、検証、コンパイル、テスト、パッケージ化の各ステップが実際に完了します。 したがって、mavenの使用は非常に簡単です。 コードを作成し、mvnテストを実行しました。コードに構文エラーや論理エラーが含まれていないことを確認しながら、作業を続行できます。
それとは別に、依存関係について言及する価値があります。 Mavenはpom.xmlファイルによって構成されます。このファイルには<dependencies />ブロックを含めることができます。 プロジェクトが完全に機能するために必要なライブラリについて説明します。 検証ステップで、Mavenは依存関係が満たされているかどうかを確認し、満たされていない場合は、リモートリポジトリからローカルリポジトリに必要なコンポーネントをダウンロードします。 したがって、10個のプロジェクトが同じSomeSpecificOrmライブラリに依存している場合、特にライブラリが十分なスペースを占有する場合は、
svn:external
を介して10箇所で接続する必要はありません。依存ファイルで指定するだけで、ローカルから取得されますMavenリポジトリ。 依存関係を指定する場合、ライブラリの名前だけでなく、そのバージョンも指定できます-このように、後方互換性に問題はありません。
次に、「Web開発でMavenはどのように役立つか」という質問に直接進みます。 コンパイル、テスト、パッケージ化に加えて、mavenでは
tomcat-maven-plugin
を使用してプロジェクトをtomcatにデプロイできます。 これはpom.xmlで構成され、おおよそ次の形式になります。
[...]
<プラグイン>
<プラグイン>
<groupid> org.codehaus.mojo </ groupid>
<artifactid> tomcat-maven-plugin </ artifactid>
<バージョン> 1.0-beta-1 </バージョン>
<構成>
<パス> / </パス>
<url> http://site.local:8080 /マネージャー</ url>
<server> site.local </ server>
</構成>
</ plugin>
</ plugins>
[...]
設定には少し説明が必要です。 そのため、pathは、サーブレットがデプロイされるパスを担当します。 本格的な自給自足のWebアプリケーションをデプロイしているため、/にデプロイします。
Url
は、デプロイするホストマネージャーへのパスを指します。 通常、マネージャサーブレットは、
新しい仮想ホストの作成中に作成され
ます 。
Server
はサーバーIDを示します。 ここでは、説明をさらに深くする必要があります...
ホストマネージャーを介した展開の場合、承認を行う必要があり、構成ファイルでのログイン情報の指定は正しい決定ではありません。データはサーバーごとに変更できるため、idによるポインターが使用されます。 承認データ自体は、
servers
セクションの
~/.m2/settings.xml
ファイルで構成され
servers
。 したがって、私のセクションは次のようになります。
[...]
<サーバー>
<サーバー>
<id> site.local </ id>
<username>マネージャー</ username>
<password>マネージャー</ password>
</ server>
</ servers>
[...]
username
と
password
は、
tomcat-users.xml
管理者権限を持つユーザーと一致
password
必要があり
tomcat-users.xml
(
サーブレットに関する以前の
記事を参照 )。
これで、プロジェクトをサーブレットコンテナに送信するには、実行するだけで十分です。
$ mvn tomcat:deploy
とmaven自体が、プロジェクトのコンパイル、テスト、パッケージ化、およびデプロイを処理します。 あとは、ブラウザページを更新して変更を確認するだけです。
はい 結論として、mavenはディレクトリの階層も決定しますが、手動で作成しないためには、それで十分です。
$ mvnアーキタイプ:作成\
-DarchetypeGroupId = org.apache.maven.archetypes \
-DgroupId = com.mycompany.app \
-DartifactId = my-app
また、Eclipseには、プロジェクトの作成と保守を簡素化する特別な
プラグインがあります。
PSIは資料が完全に開示されていないことを理解しているため、一部のポイントが完全に不明瞭または単に完全ではない場合は、執筆してください。記事を補足します。
元の記事の PPSにはまだ小さな調査があり、ほとんどの場合、PHP開発者が参加するように招待され、残りは関心によって