Maven がまだ使われていなかった頃、Eclipse のオリジナルプロジェクトスケルトンを使ってプロジェクトをビルドすると、プロジェクト ディレクトリに lib フォルダーが存在することがよくあります。新しいプロジェクトがビルドされるたびに、プロジェクトに必要な jar ファイルを保存するために使用されます。次に、jar を lib フォルダー構成パスにコピーします。明らかに、多くの繰り返し作業があり、プロジェクトごとに使用される jar パッケージが異なるため、ゆっくりと区別する必要があります。次に、svn や git などのプロジェクト管理ツールを使用しましたが、コード ベースに大量の jar ファイルを導入する必要がありましたが、これはあまり適切ではありませんでした。
Maven は、これらの問題の解決に役立ちます。Maven ウェアハウスは、jar ファイルの保管に特に使用される場所です (プロジェクト war、zip、pom、およびその他のファイルの保管にも使用できます)。各 jar ファイルには、jstl jar パッケージなどの Maven ウェアハウス内の座標が割り当てられます:
<groupid>javax.servlet</groupid> 组ID <artifactid>jstl</artifactid> 构建ID ... 其余属性后续介绍
このようにして、Maven はプロジェクトの依存関係のバージョンを簡単に制御できます。簡単に言うと、Maven ウェアハウスはプロジェクト コンポーネントを統一した方法で管理するのに役立ちます。
プロジェクト構築のためのクエリパス:まずローカルウェアハウスをクエリし、見つからない場合はセントラルウェアハウスをクエリし、見つからない場合はエラーを報告します。中央倉庫のアドレスは次のとおりです:
プライベート サーバー ネクサス
の使用をお勧めします
上記の 3 つはより一般的であり、プロジェクトでよく使用されますが、ダウンロード速度が遅いことと、ウェアハウス ファイルは不完全なので、実際の企業開発ではプライベート サーバー ウェアハウスを構築する必要があります。
ここで、Maven プライベートサーバーの構築は単なるツールではないことに注意してください。ブロガーが使用しているバージョンは nexus-2.12.0 です。
クリックしてダウンロード、パスワード: 1ar1
ダウンロードが完了したら、解凍が完了すると、nexus-2.12.0-01-bundlenexus ディレクトリの下に表示されます。 -2.12.0-01binjsw:
ブロガーのコンピューターは 64 ビットなので、最後のフォルダーを開きます:
2 番目の Bat ファイルをクリックして Windows サービスとして設定し、nexus を開き、 URL にアクセスします: http://localhost:8081/ nexus/starts の後、次のページが開きます。これは、nexus がインストールされ、正常に起動されたことを意味します。
右上隅の [ログイン] をクリックします。ログインに成功した後、アカウントのパスワードを変更して見つけることができます。
左側のナビゲーション「リポジトリ」をクリックします。
3.
独自のプロキシ リモート ライブラリを追加します。プロジェクトでは、Jboss のいくつかの jar パッケージなど、いくつかの特別な jar ファイルを導入する必要がある場合があります。このとき、プライベート サーバーでリモート ウェアハウスをプロキシすることもできます。 追加後に [エージェント タイプを追加] をクリックし、ID、名前、URL を順番に入力します。この場合、プロジェクトでリモート ウェアハウスを構成する必要はありません。
<repository> <id>jboss</id> <name>JBoss Repository</name> <url>;/url> <releases> <updatepolicy>daily</updatepolicy><!-- never,always,interval n --> <enabled>true</enabled> <checksumpolicy>warn</checksumpolicy><!-- fail,ignore --> </releases> <snapshots> <enabled>false</enabled> </snapshots> <layout>default</layout> </url></repository>
4.nexusを利用してLAN専用サーバーを構築する的使用,上面提到的一些特殊的商业性质相关的jar文件,比如oracle的驱动包,ojdbc.jar并不支持远程下载,这时候可以将我们本地下载好的jar包上传到私服。
注意GAV设置要与你pom.xml中一致,上传后添加到Artifacts点击上传即可:
5.由于私服仓库数量过多,导致配置复杂度提高,所以需要用到上述的group类型仓库:
切记点击刷新,刷新后点击唯一的一个group仓库,点击配置Configuration就可以看到刚才我们手动添加的代理仓库,然后将代理仓库添加到组仓库,这样依赖,项目中之需要配置组仓库的url就可以访问多个私服仓库。
在上述步骤完成后,即可在项目中引用私服,pom.xml中改变默认下载仓库url:
指定私服仓库,我的ip是170,不要全盘复制
<repositories> <repository> <id>nexus</id> <name>nexus</name> <url>http://192.168.1.170:8081/nexus/content/groups/public/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </repository> </repositories>
指定插件仓库
<pluginrepositories> <pluginrepository> <id>nexus</id> <name>nexus</name> <url>http://192.168.1.170:8081/nexus/content/groups/public/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </pluginrepository> </pluginrepositories>
配置好之后就可以从私服下载依赖包了。但是这种方式只能在改项目中起作用,每次配置项目都需要写两遍,为了将懒人模式进行到底,我们还可以指定全局的私有仓库。
找到maven文件的中的nexusを利用してLAN専用サーバーを構築する文件
在nexusを利用してLAN専用サーバーを構築する中添加配置:
在profiles>标签下添加
<profile> <repositories> <id>central</id> <name>central</name> <url>http://192.168.1.170:8081/nexus/content/groups/public/</url> <layout>default</layout> <releases> <enabled>true<enabled> </enabled></enabled></releases> <snapshots> <enabled>true<enabled> </enabled></enabled></snapshots> </repositories> </profile>
配置好之后激活profile
<activeprofiles> <activeprofile>central</activeprofile> </activeprofiles>
这样一来,这台电脑上所有maven项目下载jar文件时都会先访问局域网170的电脑。
-----------------------------------windows配置私服完毕-----------------------------------
扩展:setting,xml中各标签的意义:
servers(服务器)
<servers> <server> <id>server001</id> <username>my_login</username> <password>my_password</password> <privatekey>${usr.home}/.ssh/id_dsa</privatekey> <passphrase>some_passphrase</passphrase> <filepermissions>664</filepermissions> <directorypermissions>775</directorypermissions> <configuration></configuration> </server> </servers>
id与pom.xml中distributionManagement的id保持一致,服务器标识
username和password表示服务器认证需要的用户民和密码
privateKey, passphrase一组密钥 (不常用)
filePermissions, directoryPermissions如果在部署的时候会创建一个仓库文件或者目录,这时候就可以使用权限(不常用)
2.mirrors(镜像)
<mirrors> <mirror> <id>planetmirror.com</id> <name>PlanetMirror Australia</name> <url>;/url> <mirrorof>central</mirrorof> </url></mirror> </mirrors>
设置一个中央仓库的镜像,看仓库分类,也是远程仓库的一种配置方式。
3.profiles(构建环境)
这个可能比较难理解,maven权威指南一书中这样说:
Profile能让你为一个特殊的环境自定义一个特殊的构建;
构建环境的两个例子是产品环境和开发环境。当你在开发环境中工作时,你的系统可能被配置成访问运行在你本机的开发数据库实例,而在产品环境中,你的系统被配置成从产品数据库读取数据。Maven能让你定义任意数量的构建环境(构建profile),这些定义可以覆盖pom.xml中的任何配置。
简单理解就是你可以先profile中先构件好项目运行的环境,比如预设了A环境实在开发中使用,而实际上线是B环境,那么在上线的时候我们不需要一个个修改pom.xml中的配置,只需要激活改profile即可。
4.activation(激活构建环境 )
<activation> <activebydefault>false</activebydefault> <jdk>1.5</jdk> <os> <name>Windows XP</name> <family>Windows</family> <arch>x86</arch> <version>5.1.2600</version> </os> <property> <name>mavenVersion</name> <value>2.0.3</value> </property> </activation>
指定profile中配置的环境在什么时候开始生效
5.activeProfiles(激活了的profile)
<activeprofiles> <activeprofile>env-test</activeprofile> </activeprofiles>
在nexusを利用してLAN専用サーバーを構築する最后的一个标签,表示env-test这个profile已被激活
以上がnexusを利用してLAN専用サーバーを構築するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。