maven集成SSM项目,jetty部署运行——搭建maven项目部署jetty试运行(一)
今天闲来没事采用maven集成一个SSM框架来复习复习
,下面开始我的复习之旅,慢慢来,不着急,哈哈,不忙时候敲两下,整起来。
工具为Eclipse,首先需要建立一个maven工程,file右键new--->maven Project

点击next

选中红色框部分,继续next

填写完成后点击finish,创建项目如下:但是有两个问题需要解决,

问题1.项目报错,错误出在index.jsp上,这个错误的原因在于项目中没有servelet-api,需要在pox.xml中添加相应的依赖即可解决:
<!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
问题2.java resources 下的目录不完整,这个需要补充完整,补充方法如下;
方式一;
在项目名上右键,build path----->configure build path(或者项目右键Properties,选择java build path)出现的如下界面:

将两个报错的missing删除remove掉,然后add folder,点击Create New Folder,选择项目根目录,出现如下最上层界面,如下:

在Folder name 中填写src/main/java,然后finish,同样方法创建src/test/java,但是这种方法发现创建src/test/java文件夹后报错如下,且OK键为灰色不能够点击,故而不能创建成功

方式二:java resources上右键new一个Source Folder如下创建相应包名,

创建完成后

不管方式一、还是方式二创建成功后都需要为期配置改变编译环境,如下点击OK即可,需要注意的是src/main/java选择的是项目名/target/classes,而src/test/java和src/test/resources(本项目不建这个包)选择的是项目名/target/test-classes。

修改顺序—通过order and export 的up键,src/main/java...src/main/resources...src/test/java

将Libraries,已入要用的JRE,方法如下,改变后如下:注意,我们在操作这一步的时候,经常会发现当我们引进了jre1.7,但是在maven项目右键update后,系统又重新回到了JRE System Library[JavaSE-1.5],这是因为需要在pom.xml 的build中增加插件配置如下:
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.1</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
</plugins>
添加完成再次操作后update即可变为如下样式:



此时如果index.jsp报错如下:The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path,则更新一下maven工程。
改变版本问题:修改web.xml的DTD头文件变成3.0版本——>工程名上右键属性——>project Facets——>修改Dynamic Web Module 2.3 为3.0,注意!!!此时会报错,如下:


这样总是不能修改,把√去掉保存,发现项目结构变得不堪,又重新来过,好痛苦,折腾了好大一会,最后查看网络,搞定
===============================================以下摘自网络=====================================================
参考http://www.cnblogs.com/bruceChan0018/p/6015119.html(尊重原创,多谢了,借鉴一下,如下一部分摘过来)
1.调整项目的web.xml,将版本号统一修改为2.5/3.0
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
......
2.切换视图为Navigator(Eclipse-Window-showView)
org.eclipse.jdt.core.prefs中,将jdk版本改为当前系统的jdk版本号

eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
org.eclipse.jdt.core.compiler.compliance=1.7
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
org.eclipse.jdt.core.compiler.source=1.7

org.eclipse.wst.common.component中,将jdk版本改为当前系统的jdk版本号
<?xml version="1.0" encoding="UTF-8"?><project-modules id="moduleCoreId" project-version="1.7.0">
<wb-module deploy-name="ChiqAlgTest">
<wb-resource deploy-path="/" source-path="/target/m2e-wtp/web-resources"/>
......
org.eclipse.wst.common.project.facet.core.xml中,将jdk和java-web版本修改为系统jdk和2.5/3.0

<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
<fixed facet="wst.jsdt.web"/>
<installed facet="java" version="1.7"/>
<installed facet="jst.web" version="3.0"/>
<installed facet="wst.jsdt.web" version="1.0"/>
</faceted-project>

3.修改完以上参数后,在facet选项中修改Dynamic Web Module为2.5/3.0,update project即可。
================================================以上摘自网络============================================================
更新完后如下:

如果最终,发现项目名字上报错有红叉,子文件中没有任何报错错则是缺少插件。
<plugins> <plugin> <!-- 项目报红叉,下面子文件没有一个报红叉原因是缺少插件的配置项 -->
<artifactId>maven-compiler-plugin</artifactId> <configuration> <target>1.7</target> <source>1.7</source> <encoding>UTF-8</encoding> </configuration> </plugin>
</plugins>
二、部署jetty试运行maven项目工程
首先,在pom.xml中加入jetty的插件
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>8.1.16.v20140903</version>
</plugin>
然后进行配置菜单run---->run configuration----->出现如下

如果此时run 启动jetty service,并运行localhost:8080,会报错如下:
PWC6345: There is an error in invoking javac. A full JDK (not just JRE) is required
此时是因为JRE没有配置,需要进行相关配置:

配置好后,OK,run 启动jetty service,并运行localhost:8080,页面输出hello world。
对应的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.yusys.pro</groupId>
<artifactId>NewsManagement</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>NewsManagement 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>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.0.1</version>
</dependency>
<!-- 添加redis的jar 包 -->
<!-- https://mvnrepository.com/artifact/redis.clients/jedis -->
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.9.0</version>
</dependency>
</dependencies>
<build>
<plugins> <plugin> <!-- 项目报红叉,下面子文件没有一个报红叉原因是缺少插件的配置项 -->
<artifactId>maven-compiler-plugin</artifactId> <configuration> <target>1.7</target> <source>1.7</source> <encoding>UTF-8</encoding> </configuration>
</plugin>
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>8.1.16.v20140903</version>
</plugin>
</plugins>
<finalName>NewsManagement</finalName>
</build>
</project>
对应的web.xml代码如下:
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 3.0//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app>
<display-name>Archetype Created Web Application</display-name>
</web-app>
maven集成SSM项目,jetty部署运行——搭建maven项目部署jetty试运行(一)的更多相关文章
- 基于.NetCore开发博客项目 StarBlog - (5) 开始搭建Web项目
系列文章 基于.NetCore开发博客项目 StarBlog - (1) 为什么需要自己写一个博客? 基于.NetCore开发博客项目 StarBlog - (2) 环境准备和创建项目 基于.NetC ...
- 使用 Maven 来管理项目 & 从 0 开始搭建 Maven 项目
maven 是 apache 的一个开源软件,纯 Java 编写的,专门用于管理 Java 项目的一个工具. maven 就是一个工具而已,用不用都不耽误你刷刷的敲代码,那为什么我们还要学习它呢? 那 ...
- 基于Maven的ssm(spring+springMvc+Mybatis)框架搭建
前言 本demo是在idea下搭建的maven项目,数据库使用Mysql,jdk版本是1.8.0_171,ideal:2017.3.5 一.新建项目 1.file->new->porjec ...
- 使用 IDEA 创建 Maven Web 项目 (二)- 搭建 WEB 项目框架
转为 Java Web 项目 将上一节中创建的 Maven 项目调整为 WEB 项目结构,步骤如下: 在 main 目录下,添加 webapp 目录. 在 webapp 目录下,添加 WEB-INF ...
- 国产中标麒麟Linux部署dotnet core 环境并运行项目 (三) 部署运行WEB API项目
部署dotnet Core Web API 上一步的文章,是我们公司最核心的一个ORM组件,在中标麒麟系统完成了一个插入数据的任务,这一步是将正式的从dot net framework 迁移到 dot ...
- Maven集成SSM
目录 Maven 集成SSM 添加log4j配置文件 配置web.xml 添加编码过滤器 添加put和delete请求 配置springmvc.xml 配置文件上传 配置druid连接池信息 配置sq ...
- 小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_2-2.快速搭建SpringBoot项目,采用IDEA
笔记 2.快速搭建SpringBoot项目,采用IDEA 简介:使用SpringBoot start在线生成项目基本框架并导入到IDEA中 参考资料: IDEA使用文档 ...
- 小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_2-1.快速搭建SpringBoot项目,采用Eclipse
笔记 1.快速搭建SpringBoot项目,采用Eclipse 简介:使用SpringBoot start在线生成项目基本框架并导入到eclipse中 1.站点地址:http://start. ...
- maven集成SSM项目,Tomcat部署运行——SSM整合框架搭建(二)之问题
问题一.当放开controller中的方法,出现如下问题 ### Error querying database. Cause: org.springframework.jdbc.CannotGetJ ...
随机推荐
- Languages-used-on-the-Internet
Languages-used-on-the-Internet 1. 互联网上使用的语言 1.1 网站内容语言 1.2 按语言互联网用户 1.3 维基百科文章统计 2. 综合以上表格数据出图表(2019 ...
- 2016 年 31 款轻量高效的开源 JavaScript 插件和库
目前有很多网站设计师和开发者喜欢使用由JavaScript开发的插件和库,但同时面临一个苦恼的问题:它们中的大多数实在是太累赘而且常常降低网站的性能.其实,其中也有不少轻量级的插件和库,它们不仅轻巧有 ...
- 中山Day5——普及
今天题目真是贼难呐...才38... 收获:树状数组单个修改 树状数组区间修改 T1:旅行 题意:有n个数,问;从中取任意个数,他们的和为质数的方案数是多少?(n<=50) 暴力模拟即可,这里不 ...
- PyCharm底部控制台console界面开启/取消自动换行
File --> Settings --> Editor --> General --> Console中 勾选右侧第一项Use soft wraps in console(选 ...
- 吴裕雄--天生自然JAVAIO操作学习笔记:单人信息管理程序
import java.io.* ; public class ExecDemo03{ public static void main(String args[]) throws Exception{ ...
- C#学习之time控件和timer_tick事件 -----转载
Timer控件:Timer控件只有绑定了Tick事件,和设置Enabled=True后才会自动计时,停止计时可以用Stop()控制,通过Stop()停止之后,如果想重新计时,可以用Start()方法来 ...
- Intel推出两款新处理器路线图公布
10月份Intel会推出两款新处理器,一个是酷睿i9-9900KS,全核5GHz处理器,还有就是Cascade Lake-X系列的HEDT旗舰,今年的处理器布局大概就是这样了. 与AMD承诺每年发布一 ...
- 标准模板库中的栈(stack)
////C++数据结构与算法(第4版) Adam Drozdek 著 徐丹 吴伟敏<<清华大学出版社>> STL中的通用栈类实现为容器适配器:使用以指定方式运行的容器.栈容 ...
- MariaDB——备份与恢复
备份和恢复 为什么要备份? 灾难恢复:硬件故障.软件故障.自然灾害.黑客攻击.误操作 测试 要注意的点: 备份需要多少时间 能够容忍多少的数据丢失 恢复数据需要在多长时间完成 ...
- AJAX的表单请求POST请求方式
表单数据的提交 action : 数据提交的地址,默认是当前页面 method : 数据提交的方式,默认是get方式 post: 把数据名称和数据值用=连接,如果有多个的话,那么他会把多个数据组合用& ...