Maven使用

Posted 头发浓密似羊毛

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Maven使用相关的知识,希望对你有一定的参考价值。

Maven的两个主要的功能就是:

1,帮助我们管理jar包

2,构建项目

Maven的下载地址为:http://maven.apache.org/download.cgi

我们先来体验一下Maven帮助我们管理jar包的方便性,先在ECLIPSE中建立一个Maven的java项目

在已经创建好的Maven的java项目中有一个pom.xml文件,直接在里面引用jar包就可以了。

这个时候要注意创建的项目时java还是web项目,如果是java项目那就选择

GroupId填写的是之前在没有使用Maven的时候的包名,比如com.stk;ArtifactId填写的是项目名称,比如web-demo01

 1 <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/xsd/maven-4.0.0.xsd">
 2   <modelVersion>4.0.0</modelVersion>
 3   <groupId>com.sxt</groupId>
 4   <artifactId>Maven-demo01</artifactId>
 5   <version>0.0.1-SNAPSHOT</version>
 6   <dependencies>
 7   <dependency>
 8     <groupId>commons-io</groupId>
 9     <artifactId>commons-io</artifactId>
10     <version>2.4</version>
11    </dependency>
12   </dependencies>
13 </project>

这里只是在pom.xml文件中间单的引入了一个jar包;在下面两个地方都可以看到:

然后,对于创建成功的java项目,我们可以将它打成jar包;

右键项目---》run as---》Maven installm,运行就可以将这个项目打成jar包了,在项目中的target文件夹中可以看到生成的jar包

在创建Maven项目的时候可能存在的问题:

第二,在哪里创建Maven项目,这对于开发小白来说可能是新知识点,老鸟请绕路

下面既然我们已经基本了解了Maven的创建和他的一些基本的作用,现在我们来新建一个web项目

新建的web项目肯定会出错的,如果你没有出错要么是之前配置过相关的额maven,要么就是你的eclipse有问题啦

现在我们先来解决这样的错误:

第一个错误:jdk版本的问题,在这里我们可以看到自己的jdk版本是多少的,因为我们下载Maven的时候官方提示的是jdk版本至少在1.7以上,

当然我们还可以选择低版本的Maven,但是会存在很多的功能缺失的问题,所以各位慎用。我们可以看一下自己的jdk版本是多少的:

我这里是已经修改过的jdk版本,可能刚开始创建项目的时候版本是低于这个版本,那么就要更新jdk了,如果你的版本符合要求,那么恭喜你了。

现在我们先来解决jdk版本的问题:这里有两种解决的方法:一个是在每个项目的pom.xml文件都配置一下jdk的版本,另一个是在Maven的配置文件中直接对所有的项目的jdk的版本进行配置,第一种方法要求每次新建一个项目都要重新配置一下jdk。所以我么这里选择第二种

第一种在pom.xml文件中配置jdk版本的代码:

 1 <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/xsd/maven-4.0.0.xsd">
 2   <modelVersion>4.0.0</modelVersion>
 3   <groupId>com.sxt</groupId>
 4   <artifactId>Maven-demo03</artifactId>
 5   <version>0.0.1-SNAPSHOT</version>
 6   <build>
 7         <plugins>
 8             <!-- 设置编译环境 1.8 -->
 9             <plugin>
10                 <artifactId>maven-compiler-plugin</artifactId>
11                 <version>2.3.2</version>
12                 <configuration>
13                     <source>1.8</source>
14                     <target>1.8</target>
15                 </configuration>
16             </plugin>
17         </plugins>
18     </build>
19 </project>

第二种直接在Maven的配置文件settings中进行配置,代码如下:注意,这个文件是在profies文件中配置的

 1 <profile> 
 2     <id>jdk-1.8</id>
 3     <activation> 
 4     <activeByDefault>true</activeByDefault> 
 5     <jdk>1.8</jdk> 
 6     </activation> 
 7     <properties>
 8     <maven.compiler.source>1.8</maven.compiler.source>
 9     <maven.compiler.target>1.8</maven.compiler.target> 
10     <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion> 
11     </properties> 
12     </profile>

配置完成后更新一下配置文件:

然后在更新一下项目:右键项目---》Maven ----》update projecet

这个时候我们可以看到jdk的版本已经被更新了,但是项目仍然存在错误,这是因为缺少web.xml文件。

解决的方式有两种:
一个是自己手动创建一个WEB-INF\\web.xml文件

二个是在eclipse中进行修改:

右键项目---》properties--->Maven---->project  Facets---->

这个时候在下面会出现一行绿色的代码:

在下一个界面中,在需要创建文件的路径下输入src/main/webapp,点击创建web.xml文件

最后再更新一下项目就没有问题了:右键----》Maven---》update project ;在之后的创建项目的过程中都只需要添加web.xml文件这一步就可以了,jdk的版本就不用更新了。

项目创建好之后要生成对应的war包运行一下;我们这里先手动生成war包,部署到tomcat中运行,

在webapp目录下新建一个jsp页面,这个时候项目又会报错了,

此次错误是因为jsp的本质是servlet,而我们的配置文件根本就没有关于servlet的配置,所以我们要在pom.xml文件中配置servlet

 1 <dependencies>
 2         <!-- 因为是web项目所以需要servlet -->
 3         <!-- https://mvnrepository.com/artifact/javax.servlet/servlet-api -->
 4         <dependency>
 5             <groupId>javax.servlet</groupId>
 6             <artifactId>servlet-api</artifactId>
 7             <version>2.5</version>
 8             <scope>provided</scope>
 9         </dependency>
10     </dependencies>

只要设置了servlet,在保存该文件,那么项目就不会报错了。

现在我们将该项目打成war包,右键项目---》run as---》Maven Install,等待打包完成就可以了,这个时间有点长。

我们在项目中可以看到生成的war包:

现在我们要在tomcat中部署该项目了,复制该war包到安装tomcat的路径下的存放我们的web项目的路径下:如果有不清楚的,可以双击eclipse的tomcat服务器,

部署完成之后我们就可以在浏览器中进行访问了,这时候要注意端口已经改变了;如果能成功访问,则说明前面的操作没有问题,eclipse和Maven成功关联;否则请检查错误。

如果我们每次都这么部署项目不利于 我们的开发进度,现在我们直接利用tomcat的插件来进行快速部署项目。

先在pom.xml文件中配置插件信息;

 1 <build>
 2         <plugins>
 3             <!-- tomcat插件 -->
 4             <plugin>
 5                 <groupId>org.apache.tomcat.maven</groupId>
 6                 <artifactId>tomcat7-maven-plugin</artifactId>
 7                 <version>2.2</version>
 8                 <configuration>
 9                     <!-- 端口号 -->
10                     <port>8082</port>
11                     <!-- /表示访问路径 省略项目名 -->
12                     <path>/</path>
13                     <!-- 设置编码方式 -->
14                     <uriEncoding>utf-8</uriEncoding>
15                 </configuration>
16             </plugin>
17         </plugins>
18     </build>

配置完插件之后保存,然后点击项目右键-----》run as ---》

运行成功就可以了

然后我们就可以不输入项目,直接在浏览器中输入页面就可以访问了:http://localhost:8082/index.jsp,如果能成功访问该页面,说明配置成功,否则失败,检查错误或者重新建项目,重新配置。

在这里要注意:有一个选项必须更改,否则会报错,

 

 


现在我们把已经打包成功的项目上传到私服上面去:

 

以上是关于Maven使用的主要内容,如果未能解决你的问题,请参考以下文章

Spring+SpringMVC+MyBatis+Maven框架整合

如何在 Apache Felix maven-bundle-plugin 中设置 Provide-Capability 标头?

Maven FTP部署:无法创建目录

关于mysql驱动版本报错解决,Cause: com.mysql.jdbc.exceptions.jdbc4Unknown system variable ‘query_cache_size(代码片段

maven+spring boot搭建简单微服务

将特定目录及其内容添加到Universal目标