> CentOS > CentOS教程 >

Eclipse使用Maven部署javaweb项目到CentOS7服务器

前言:
前一章已经了解了Eclipse的基本使用 ,这节主要是在Eclipse中使用Maven配置javaweb到CentOS7服务器,不只是CentOS7其他Linux也是通用的,只要服务器装载了Tomcat即可。
 
第一步: 
修改Maven的jdk版本与你Eclipse的jdk版本一致。前一章已经介绍过了,这里就不累赘了。 
第二步: 
创建Maven格式的javaweb项目。 
File –>new–>others–> 
 
注意:上面的要打勾 是默认跳过骨架 
 
这里写图片描述
这里Group ID 和Artifact ID是针对项目而言的 ,而不是路径 
jar代表的是普通java项目 而war代表的是javaweb项目 
这里写图片描述
 
这里写图片描述
创建后:有两个问题
 
1. 报错
2. 不符合Maven的约定的格式
 

 
右击项目:修改Project Facets 
这里写图片描述
 
先查看java版本是否正确 
其次 取消Dynamic Web Module的勾 然后Apply 
然后再打勾Dynamic Web Module 就会出现下面的
 
Futher……available的提示  点击进行配置WebContent

这里写图片描述
 
结果是如下效果: 
这里写图片描述
 
接下来 我们把WebContent下的WEB-INF复制到src的java的webapp下,然后删除WebContent
 
为什么pom.xml会报错?
 
因为没有web.xml 

 

只要右击项目 Maven –>Update Project 更新项目即可
 
接下来我们写一个简单的jsp和servlet:如此结构。 
这里写图片描述
 
但是其实会报错,因为 jsp和servlet需要的jar包没有导入。 
所以需要配置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/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>mm</groupId>
  <artifactId>mm</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>war</packaging>
   <properties>  
        <!-- 文件拷贝时的编码 -->  
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>  
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>  
        <!-- 编译时的编码 -->  
        <maven.compiler.encoding>UTF-8</maven.compiler.encoding>  
    </properties>  
  <dependencies>
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>3.1.0</version>
    </dependency>
    <dependency>
        <groupId>javax.servlet.jsp</groupId>
        <artifactId>javax.servlet.jsp-api</artifactId>
        <version>2.3.1</version>
    </dependency>
  </dependencies>
</project>
 

 
 

 
问:那请问 我怎么知道到底需要什么jar包呢?
 
答:其实只要哪里报错,你鼠标移上去就会提示缺少什么jar包。 
然后上Maven库查找即可:
 
http://mvnrepository.com/
可以随便看一个栗子:将图片最后的地址原样粘贴到pom.xml即可 
这里写图片描述
 
<dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>3.1.0</version>
    </dependency>
 

 
这个时候就会从中央仓库下载到本地仓库 如何知道呢?看jar包引用位置。 
这里写图片描述
 
如果有乱码问题:可以在pom.xml加入如下内容:
 
<properties>  
        <!-- 文件拷贝时的编码 -->  
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>  
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>  
        <!-- 编译时的编码 -->  
        <maven.compiler.encoding>UTF-8</maven.compiler.encoding>  
    </properties>  
 

 
总结: 
只要配置了pom.xml的jar包依赖 ,项目中就会直接引用。
 
最后只要右击项目 Run as –>Maven install 上传到本地仓库 
进入后将 war包上传到Tomcat的webapps即可。 
注意:可以将war包修改名字后再上传
 
提一嘴: 
重定向的乱码问题解决方案: 
如果是跳转的位置 没有text/html等说明的话 如跳转到servlet页面:
 
response.setContentType("text/html;charset=utf-8");
1
如果是jsp等页面有text/html;charset=utf-8等说明
 
response.setContentType("utf-8");
 

 


(责任编辑:IT)