Eclipse使用Maven部署javaweb项目到CentOS7服务器
时间:2019-02-10 21:55 来源:csdn 作者:codingCoge
前言:
前一章已经了解了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)
前言:
前一章已经了解了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) |