今天,我用DOS命令来创建一个基于Maven的Web项目时,屡屡不能成功,检查了一下,我的网络没有问题啊,怎么回事呢?
命令如下:
按理说在DOS界面运行了之后就会在所在的目录下创建一个基于Maven的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>zwt-arthur</groupId>
<artifactId>SpringMVCDemo</artifactId>
<packaging>war</packaging>
<version>1.0-SNAPSHOT</version>
<name>SpringMVCDemo 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>SpringMVCDemo</finalName>
</build>
</project>
但是,我运行了之后却一直出现了一个错误,如下所示:
它提示我没有找到以archetype为前缀的插件,后来在网上查了才得知,原来是因为我电脑使用的是代理模式上网,所以不能在中央仓库进行下载所需的插件。
需要在所配置的C:\Users\[用户名]\.m2目录下的setting.xml文件中加上代理模式,具体配置如下图所示:
<!-- 如果你的公司正在建立一个防火墙,并使用HTTP代理服务器来阻止用户直接连接到互联网。如果您使用代理,Maven将无法下载任何依赖。
为了使它工作,你必须声明在 Maven 的配置文件中设置代理服务器:settings.xml. -->
<proxy>
<id>my-proxy</id>
<active>true</active> <!-- active的值为true表示激活该代理, -->
<protocol>http</protocol> <!-- protocol表示使用的代理协议,这里是http -->
<!-- <username>proxyuser</username>
<password>proxypass</password> -->
<host>172.26.152.168</host> <!-- 最重要的是指定正确的主机名(host元素)和端口(port元素),这里设置成自己的代理ip-->
<port>8089</port> <!-- 设置成自己的代理ip所对应的端口号 -->
<!-- <nonProxyHosts>local.net|some.host.com</nonProxyHosts> -->
</proxy>
<!-- 上述xml配置中注释掉了username,password,nonProxyHosts几个元素。当代理服务需要认证时,就需要配置username和password。nonProxyHost元素用来指定哪些主机不需要代理,可以使用"|"符号来分隔多个主机名。此外,该配置也支持通配符,如:*.google.com表示所有以google.com结尾的域名访问都不要通过代理。 -->
通过加上代理,果然,运行上述dos命令创建Maven项目就能成功了。不过第一次下载过程比较慢,需耐心等待。
相关链接: