マスターへ30分Mavenのエントリー

  Mavenは、近年、建設およびプロジェクト管理ツールの中で最も人気があります。当社の開発プロセスは、JARパッケージの依存関係にインポートするだけでなく、プロジェクト、初期設定、コンパイル、テスト、パッケージ、統合テスト、検証、展開、およびサイトビルダーをクリーンアップするために簡素化し、すべてのビルドプロセスでは、私たちに簡単に抽象的かつ統一されただけでなく、プロジェクトの管理。Mavenの依存関係は、個々のプロジェクトの依存関係の管理が困難ではなく、モジュールのいくつかさえも数十を管理するために、これは経営者がそれを持っているかに依存しなければならない、私たちの最もよく知られた特性がありますか?

:一般的なコマンドの達人

  MVNの検証:プロジェクトが正しく、必要なすべてのリソースが利用可能であることを検証し
  、ソースコードのコンパイル:MVNをコンパイル
  MVNテストコンパイルを:テストコードのコンパイル
  MVN試験:テスト実行
  MVNパッケージを:パッケージ
  MVNクリーン:クリーンアッププロジェクトは
  MVNインストールは:ローカルリポジトリインストール
  MVNを展開:アップロードPW
  MVN依存関係:ツリー:ショーMavenの依存関係ツリーの
  MVNの依存関係:リスト:表示Mavenの依存関係リスト

II:配列依存転送

  1.近く好ましい
    例えば、Cバージョン1.1のプログラムに依存するプロジェクト、一方、Cバージョン1.0プログラム内部依存プログラムBが、B-依存プログラム。力のC1.1バージョンである。この点Aで。
    > B> C-1.0.jar
    A> C-1.1.jar
  前記第1の優先肯定
    BプロジェクトはDバージョン1.0の依存関係、Cは、1.1 Dプロジェクトの依存関係です。Bは、最初の項目を参照するための項目Cに依存する一方、A及びBは、この時点でAは、アイテムD1.0内部有効です。
    > B> D-1.0.jarの
    A> C> D-1.1.jar

III:依存スコープ

  * complieする:これはデフォルトのスコープで、すべての項目のコンパイラのクラスパスの依存関係が用意されています。そして、コンパイラの依存関係は、プロジェクトに依存するように渡されます。

  

  *提供:のみ有効なテストとコンパイル時間が、業務をパッケージ化する際に除外します。提供されるJDKまたはこの依存性が含まれているコンテナを実行するには、我々だけで範囲を設定することができます。(例えば、サーブレット-api.jarをコンパイルしたWebアプリケーションの開発を必要としますが、コンテナはこの依存を実行してきた、私たちは、その範囲の範囲を変更することができるようになります)
  

  ランタイム*:テストとランタイムの有効、無効のコンパイル時間。(たとえば、JDBC関連のプロジェクトがコンパイル時jarファイルを必要としませんが、関連するドライバパッケージの実行が必要になります)

  

  テスト*:テスト・コードをコンパイルしてテストコードを実行したときのみ有効。

  

  *システム:と同様の提供が、従属システムの範囲はローカルパスを指定しなければなりません。それはMavenを見つけるために倉庫に行きますが、ローカルシステムから直接読み取ることはありませんので。

  

  インポート*:これはのみ<dependencyManagement>使用され、依存関係が他の構成POMから導入して表現します。私はあなたがそれに対処すべきか、継承させたい、またはそれ以上を継承していない場合はMavenとJavaのような、単一継承していますか?例えば、私は今のJUnit、log4jの2つの依存関係を持っていると呼ばれる1つのベース・親1の親モジュールを、持っています。しかし、私は別のプロジェクトは、これら2に依存しなければならないことがありましたが、私たちが何をすべきか導入を繰り返したくないですか?
  親1のコードを見てください:

  

  この時点で、私はこのプロジェクトの別のプロジェクトをインポートする必要があり、親1することができます来て参照を依存しています。

  

   除外*:このようjedisパッケージとして依存性排除、またコモンズ-POOL2パッケージが含まれますが、私はこのjarパッケージを参照したくない、あなたはそれが排出され、<除外>タグを使用することができます。

  

  *オプション:例えば、依存オプション:依存BそれはCに依存しないように、B-依存Cは、B、Cは、オプションとしてマークされます

  

4:Mavenのライフサイクル

  maven的生命周期分为三个阶段,他们分别是clean、default、site。
  * clean生命周期的目的是清理项目
    pre-clean:执行一些清理前需要完成的工作
    clean:清理上一次构建生成的文件
    post-clean:执行一些清理后需要完成的工作
  * default生命周期的目的是构建项目
    validate:验证工程是否正确
    compile:编译项目的源代码
    test:使用单元测试框架运行项目,测试代码不会被打包或者部署
    package:把编译好的代码,打包成可发布的格式,如JAR、WAR。
    verify:运行所有检查,验证包是否有效
    install:将包安装到maven本地仓库,供本地其它maven项目使用
    deploy:将最终的包复制到远处仓库,供其它开发人员和maven项目使用
  * site生命周期的目的是建立项目站点
    pre-site:执行一些在生成项目站点之前需要完成的工作
    site:生成项目站点文档
    post-site:执行一些在生成项目站点后需要完成的工作
    site-deploy:将生成的项目站点发布到服务器上

五:Maven私服搭建

  1. 首先安装好jdk和maven,并配置环境变量
  2. 下载nexus https://www.sonatype.com/download-oss-sonatype
  3. 解压tar -zxvf nexus-2.14.13-01-bundle.tar.gz 会得到nexus-2.14.13-01   sonatype-work两个文件夹
  4. 进入bin目录,可使用两个命令启动①./nexus start ②./nexus run(初次启动建议使用此命令,会显示启动日志)
  5. 日志文件所在路径 /sonatype-work/nexus/log/nexus.log  

  

  6. 需要设置环境变量来解决上面问题vim /etc/profile加入export RUN_AS_USER=root,然后source /etc/profile使环境变量立即生效。   

  

   7. 这时候./nexus stop停止后再启动就好了,如果问题还没解决需要 vim nexus-2.14.13-01/bin/nexus添加下面配置,然后重启就好了

  

   8. 启动成功之后 localhost:8081/nexus就能访问了

  

六:nexus私服使用实战

   太晚了,明天写。

  

 

おすすめ

転載: www.cnblogs.com/wlwl/p/11300142.html