Wenn ich an die Zeit zurückdenke, als es Maven gab Bisher nicht verwendet, haben wir das ursprüngliche Projektskelett von Eclipse verwendet. Beim Erstellen eines Projekts gibt es häufig einen lib-Ordner im Projektverzeichnis, in dem die für das Projekt erforderlichen JAR-Dateien gespeichert werden. Jedes Mal, wenn ein neues Projekt erstellt wird, gibt es einen solchen lib-Ordner. Kopieren Sie dann das JAR in den Konfigurationspfad des lib-Ordners. Offensichtlich gibt es viele wiederholte Arbeiten und die in verschiedenen Projekten verwendeten JAR-Pakete sind unterschiedlich, daher müssen wir sie langsam unterscheiden. Dann verwendeten wir Projektmanagement-Tools wie SVN oder Git und mussten eine große Anzahl von JAR-Dateien in die Codebasis einführen, was nicht sehr angemessen war.
Maven kann uns bei der Lösung dieser Probleme helfen. Das Maven Warehouse ist ein Speicherort, der speziell zum Speichern von JAR-Dateien verwendet wird (es kann auch zum Speichern von Projektwar-, Zip-, POM- und anderen Dateien verwendet werden). Jeder JAR-Datei wird im Maven-Warehouse eine Koordinate zugewiesen, z. B. dem JSTL-JAR-Paket:
<groupid>javax.servlet</groupid> 组ID <artifactid>jstl</artifactid> 构建ID ... 其余属性后续介绍
Auf diese Weise kann Maven die Projektabhängigkeitsversion einfach steuern. Einfach ausgedrückt hilft uns das Maven Warehouse dabei, Projektkomponenten auf einheitliche Weise zu verwalten.
Abfragepfad für den Projektaufbau: Fragen Sie zuerst das lokale Lager ab. Wenn es nicht gefunden wird, wird das Zentrallager abgefragt. Wenn es nicht gefunden wird, wird es abgefragt Fehler wird gemeldet. Die Adresse des Zentrallagers lautet:
Private Server-Nexus-Nutzung
Es wird empfohlen, die oben genannte
Drei sind häufiger und werden häufig in Projekten verwendet. Aufgrund der langsamen Download-Geschwindigkeit und der unvollständigen JAR-Dateien im Warehouse müssen wir jedoch für die tatsächliche Unternehmensentwicklung ein privates Server-Warehouse erstellen.
Beachten Sie hier, dass der Aufbau eines privaten Maven-Servers nicht das einzige Tool ist. Die vom Blogger verwendete Version ist Nexus-2.12.0.
Zum Herunterladen klicken , Passwort: 1ar1
Entpacken Sie es nach dem Der Download ist abgeschlossen. Ja, nachdem die Dekomprimierung abgeschlossen ist, können Sie ihn im Verzeichnis nexus-2.12.0-01-bundlenexus-2.12.0-01binjsw sehen:
Der Computer des Bloggers ist 64-Bit. Öffnen Sie also den letzten Ordner:
Klicken Sie auf die zweite Bat-Datei, um sie als Windows-Dienst festzulegen, öffnen Sie Nexus und Besuchen Sie die URL: http://localhost:8081/ Nach Nexus/starts wird die folgende Seite geöffnet, was bedeutet, dass Nexus erfolgreich installiert und gestartet wurde.
Klicken Sie oben rechts auf „Anmelden“, um sich anzumelden Das Passwort lautet admin123. Es kann nach erfolgreicher Anmeldung geändert werden. Sie können Ihr Konto und Ihr Passwort selbst finden.
Klicken Sie auf die linke Navigationsleiste „Repositorys“ .
Sie können sehen, dass es standardmäßig einige Lager gibt. Die Bedeutung des Lagertyps:
gehosteter Host Lager, verwendet Veröffentlichen Sie einige Komponenten, die von Dritten nicht zugelassen sind, z. B. JAR-Pakete kommerzieller Software wie Oracle-Treiber
Proxy-Proxy-Remote-Warehouses, wie zum Beispiel die drei geschriebenen Maven-Remote-Warehouses über. Wenn bestimmte JAR-Dateien nicht lokal vorhanden sind, werden sie von diesen Proxy-Sites heruntergeladen.
Releases Das Release-Warehouse des Release-Moduls im internen Modul
Snapshots Das Warehouse, in dem das interne Snapshot-Modul veröffentlicht wird
Drittanbieter-abhängiges Warehouse, verwenden Sie nach dem lokalen Hochladen des JAR-Pakets das Gruppen-Warehouse
, das zum Hinzufügen weiterer Warehouses verwendet wird und für Entwickler bequem einzurichten ist up
Beginnen Sie mit dem Aufbau des privaten Serverlagers. Es ist erwähnenswert: Maven-Projektindex: Der Maven-Projektindex wird verwendet, um die Suche nach verwandten Abhängigkeitsbuilds auf der privaten Serverseite zu erleichtern. Bevor Sie einen privaten Server erstellen, sollten Sie daher den Maven-Index herunterladen, der etwa Dutzende M beträgt:
Ändern Sie die Eigenschaft „Download Remote Indexes“ auf „True“ und klicken Sie dann auf „Speichern“. Zeigen Sie es in der Menüleiste an. Geplante Aufgaben Der Fortschritt des Herunterladens des Index.
3.Fügen Sie Ihre eigene Proxy-Remote-Bibliothek hinzu Manchmal müssen wir in unseren Projekten einige spezielle JAR-Dateien einführen, z. B. einige JBOSS-JAR-Pakete Privater Server. :
Klicken Sie auf „Hinzufügen“, um den Proxy-Typ hinzuzufügen, geben Sie die ID, den Namen und die URL der Reihe nach ein. In diesem Fall muss nicht mehr konfiguriert werden > Remote-Warehouse im Projekt:
<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.Verwenden Sie Nexus, um einen privaten LAN-Server zu erstellen的使用,上面提到的一些特殊的商业性质相关的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文件的中的Verwenden Sie Nexus, um einen privaten LAN-Server zu erstellen文件
在Verwenden Sie Nexus, um einen privaten LAN-Server zu erstellen中添加配置:
在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>
在Verwenden Sie Nexus, um einen privaten LAN-Server zu erstellen最后的一个标签,表示env-test这个profile已被激活
Das obige ist der detaillierte Inhalt vonVerwenden Sie Nexus, um einen privaten LAN-Server zu erstellen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!