私服 Nexus 在Java web 项目中的使用

时间:2022-02-10 21:59:58

在第一章,我们在Maven 中在settings.xml 中配置了 *服务器,所以,我们第一步,要把在settings.xml 配置的*服务器地址改成 我们自己的私服Nexus 对外提供

服务的地址。 私服Nexus 搭建 配置请参考 http://blog.csdn.net/liuc0317/article/details/10345403

window-->Preferences

私服 Nexus 在Java web 项目中的使用

Maven--> User Settings

私服 Nexus 在Java web 项目中的使用

点击 open file 

修改 settings.xml

<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<!-- localRepository
| The path to the local repository maven will use to store artifacts.
|
| Default: ${user.home}/.m2/repository -->
<localRepository>D:/maven/.m2/repository</localRepository>

<pluginGroups>

</pluginGroups>


<proxies>

</proxies>


<servers>
<server>
<id>nexus-snapshots</id>
<username>deployment</username>
<password>deployment</password>
</server>
</servers>

<mirrors>
<mirror>
<id>nexus</id>
<name>internal nexus repository</name>
<url>http://11.203.0.82:8081/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
</mirrors>


</settings>
说明:

localRepository: 表示 仓库的位置,用来存储从服务器下载到本地jar 包的地址。

servers 是Nexus 提供的 镜像 的ID 和 用户名和密码,

Mirrors 提供 Nexus  public Repositories  的地址 ,是四个 服务 统一对外 暴露的地址。
私服 Nexus 在Java web 项目中的使用

这样 前期的配置 就完成了,就可以 对 以后创建的 maven 项目进行 文件管理了。


第三章,了解了Nexus 的基本使用和对外提供服务,这一章,我们看在Java web 项目中的使用。

首先,使用Maven 创建一个Java Web 项目. 

在左侧项目列表空白处右键 New->other

私服 Nexus 在Java web 项目中的使用

New->Maven project

私服 Nexus 在Java web 项目中的使用

Next 

私服 Nexus 在Java web 项目中的使用

注:第一个多选框是 创建一个 普通的 java 项目 ,不是java web 项目。

Next 

私服 Nexus 在Java web 项目中的使用

选中 maven-archetype-webapp

Next

私服 Nexus 在Java web 项目中的使用

groupId:com.soliucheng.me  
artifactId:maven 

这两项目的设置 是此项目的坐标,使用 此坐标 可以让其他的项目对此项目进行引用。

最后 Finish.

项目建成功后的 最终结构如图:

私服 Nexus 在Java web 项目中的使用

修改和配置Java web 项目。

第一步,我们认识一个这个pom.xml 

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.soliucheng.me</groupId>
<artifactId>mavenWeb</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>mavenWeb Maven Webapp</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<finalName>mavenWeb</finalName>
</build>
</project>
解释: dependencies 这个 是项目依赖的 jar 文件。

             可以 包含 多个 Jar 文件,这些 依赖的 Jar 文件 通过 坐标来获取。

现在 项目中依赖 Junit 3.8.1 ,那么 我们改成 4.8.2 看看 他会不会 从私服 上 给我们下载对应的 Junit 4.8.2 的包呢。

修改完 pom.xml 如下。

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.soliucheng.me</groupId>
<artifactId>mavenWeb</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>mavenWeb Maven Webapp</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.8.2</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<finalName>mavenWeb</finalName>
</build>
</project>

私服 Nexus 在Java web 项目中的使用

私服 Nexus 在Java web 项目中的使用

私服 Nexus 在Java web 项目中的使用

同时,也把项目中依赖的 jar 包版本 给更新了,在仓库中也多了版本的包。

最后,把我们配置的镜像地址配置到 pom.xml 中。

 <!-- 配置部署的远程仓库 -->  
<distributionManagement>
<snapshotRepository>
<id>nexus-snapshots</id>
<name>nexus distribution snapshot repository</name>
<url>http://11.203.0.82:8081/nexus/content/repositories/snapshots/</url>
</snapshotRepository>
</distributionManagement>

id的内容 一定要与 settings.xml 中的 server 中的id  内容相同。

接下来,我们要把maven 的webapp 项目转成 java web 项目,

点击项目右键--> Properties--> Maven --> Project Facets

私服 Nexus 在Java web 项目中的使用
convert to faceted form...

私服 Nexus 在Java web 项目中的使用

选中 Dynamic web Module 要把版本 更改成 2.5 的,这样 就可以使用 tomcat 6 来发布项目了。 点OK 

项目结构如图:

私服 Nexus 在Java web 项目中的使用

此时,并没有在 mavenWeb 子目录下成生 src/main/java  , src/test/java 和 src/test/resources

这些需要 我们手动创建一下,就可以使用了。并布署 到 Tomcat 6 中。

私服 Nexus 在Java web 项目中的使用