【3月27日】手撕架构(一)使用IDEA创建Maven项目
2017-03-28 00:33
344 查看
创建Maven项目
Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。当你使用Maven的时候,你用一个明确定义的项目对象模型来描述你的项目,然后Maven可以应用横切的逻辑,这些逻辑来自一组共享的(或者自定义的)插件。以上是百度百科的解释,在我看来,maven就是管理jar包及其依赖关系的工具。如果使用eclipse创建一个裸体项目的话,习惯的做法是将项目涉及到的所有jar把放在lib里面。试想一下,如果你本地创建100个项目,势必会有很多的jar包重复使用,于是在开发的过程中你得不停的往各个项目的lib中添加jar包;这不仅浪费了你的本地内存,还会给后续的开发(例如你想升级项目了,某些jar更新)带来不必要的麻烦。于是一个可行的策略是,在本地创建一个仓库,存放着所有的jar包,所有项目共享这个本地仓库。一方面你的lib不需要了,节省了很多空间;另一方面你如果要更新jar包也不需要去lib里面删除之后再去粘贴更新的包了,只需要修改jar包的依赖规则就可以了。是不是很神奇呢?还可以更神奇一点,如果有一个世界级的仓库,所有的项目都可以动态的共享这个仓库。。。。
但是目前几个国外的仓库,由于某些不可描述的原因,访问的速度很慢,之前看有人推荐oschina的镜像,但是貌似最近停用了。不过发现了阿里云的库,速度飞起。具体的使用方法是,找到maven的配置文件(conf下的setting.xml)文件,打开之后在mirrors中添加代码:
<id>alimaven</id> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> <mirrorOf>central</mirrorOf>
从一个简单的Web应用开始
目录结构:手撕结构比较复杂,故从一个简单的web应用开始,一步步理解架构。在pom.xml中添加以下:
<?xml version="1.0" encoding="UTF-8"?> <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>org.smart4j</groupId> <artifactId>chapter1</artifactId> <version>1.0</version> <packaging>war</packaging> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencies> <!--Servlet--> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.1.0</version> <scope>provided</scope> </dependency> <!--JSP--> <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>jsp-api</artifactId> <version>2.2</version> <scope>provided</scope> </dependency> <!--JSTL--> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> <version>1.2</version> <scope>runtime</scope> </dependency> </dependencies> << 4000 span class="hljs-title">build> <plugins> <!--Compile--> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.3</version> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> <!--Test--> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>2.18.1</version> <configuration> <skipTests>true</skipTests> </configuration> </plugin> </plugins> </build> </project>
编写一个Servlet类:
package org.smart4j.chapter1; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; /** * Created by Tree on 2017/3/26. */ @WebServlet("/hello") public class HelloServlet extends HttpServlet{ @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String currentTime = dateFormat.format(new Date()); req.setAttribute("currentTime", currentTime); req.getRequestDispatcher("/WEB-INF/jsp/hello.jsp").forward(req, resp); } }
在编写一个极其简(tou)单(lan)的view:
<%-- Created by IntelliJ IDEA. User: Tree Date: 2017/3/26 Time: 22:35 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Hello</title> </head> <body> <h1>Hello!</h1> <h2>当前的时间是:${currentTime}</h2> </body> </html>
Tomcat启动一下,一个web应用就搭建好了。。。。好吧,确实太太太简单了,先不急,步子迈开了,容易。。。
相关文章推荐
- IDEA中maven项目创建并使用自己的archetype
- Idea使用Maven创建多模块SpringBoot项目问题记录
- 使用idea创建maven多模块项目
- 使用 IDEA 快速创建 maven web项目(二)
- 使用idea14.1.4创建maven多项目工程搭建jfinal框架报错
- 使用Idea创建ssm项目,SpringMVC+Spring+MyBatis+Maven整合
- 基于maven使用IDEA创建多模块项目
- IDEA使用maven创建Spring MVC WEB项目
- 使用 IDEA 快速创建 maven web项目
- log4j的使用--IDEA创建maven项目
- 使用IDEA创建Maven项目使用JSTL标签所需要的依赖
- 从零开始写javaweb框架笔记1-使用IDEA创建Maven项目
- 使用Idea创建ssm项目,SpringMVC+Spring+MyBatis+Maven整合
- 使用idea搭建一个简单的SSM框架:(1)使用idea创建maven项目
- 使用 IDEA 创建 Maven Web 项目 (异常)- Disconnected from the target VM, address: '127.0.0.1:59770', transport: 'socket'
- 使用IDEA创建一个maven项目
- 如何使用idea(2016.2.4)创建一个maven的项目(入门)
- IDEA使用maven创建web项目卡住解决办法
- Idea中使用Maven创建Hibernate项目