一、安装Tomcat
软件安装
上传资源到 Linux
解压缩 10
使用
tomcat/bin/startup.sh
启动Tomcat
查看日志
tomcat/logs/catalina.out 文件是日志文件. 就是控制台输出的文件.
tail -f tomcat/logs/catalina.out - 追加显示的模式查看文件末尾信息.
tomcat/bin/startup.sh & tailf tomcat/logs/catalina.out
& - 命令连接符, 左侧命令执行结束后,立刻执行右侧命令.
测试应用
http://ip:port/
Tomcat启动
Tomcat关闭
二、安装 MySQL
yum 安装
上传本地 yum 文件
mysql-community-release-el6-5.noarch.rpm
增加本地 yum 信息
yum 安装,是通过远程的 yum 应用服务器下载安装包并安装软件的方式.
yum 应用服务器中的数据是固定的
增加本地 yum 信息,相当于增加一个新的 yum 应用服务器中的软件列表.
yum localinstall 文件名
yum 远程下载并安装
yum install mysql-server
mysqld - 是 Oracle 定义的 yum 下载应用命名.
参数 : y, 代表忽略互动提示,直接下载并安装.
需要下载的文件
启动服务
service mysqld start
第一次启动较慢, 需要初始化默认库. 后续启动正常.
MySQL第一次启动加载的文件
测试应用
设置 root 用户密码
/usr/bin/mysqladmin -u root password 'new-password'
不要复制命令. word 文档编辑的命令,符号是中文符号.
为 root 用户授权
登录 mysql
mysql -uroot -p 密码
授权命令
grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;
grant all privileges on 权限信息 to 'mysql 用户名'@'可访问的 ip地址,%代表所有' identified by '用户密码' with grant option;
刷新授权信息
flush privileges;
访问测试
登录
mysql -u 用户名 -p 密码
-p 后直接输入密码,不能有任何其他字符.
访问任意位置的 MySQL 数据库
mysql -u 用户名 -p 密码 -h 主机名或 IP 地址 -P 端口号
三、Maven 概念
1 什么是 Maven
Maven 使用项目对象模型(POM)的概念,可以通过一小段描述信息来管理项目的构建,
报告和文档的软件项目管理工具。
Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven 的
缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项
目。由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目发布时使用 Maven,而且
公司项目采用 Maven 的比例在持续增长。
2 Maven 和 ANT 的区别
Ant 是软件构建工具,Maven 的定位是软件项目管理和理解工具。Maven 除了具备 Ant
的功能外,还增加了以下主要的功能:
1)使用 Project Object Model 来对软件项目管理;
2)内置了更多的隐式规则,使得构建文件更加简单;
3)内置依赖管理和 Repository 来实现依赖的管理和统一存储;
4)内置了软件构建的生命周期;
目前,绝大多数开发人员都把 Ant 当作 Java 编程项目的标准构建工具。遗憾的是,
Ant 的项目管理工具(作为 make 的替代工具)不能满足绝大多数开发人员的需要。通过检
查 Ant 构建文件,很难发现项目的相关性信息和其它信息(如开发人员/拥有者、版本或站
点主页)。
四、Maven 的下载与 IDE 的整合
1 下载地址
Welcome to Apache Mavenmaven.apache.org2 Maven 的目录结构
3 Eclipse 整合 Maven
3.1整合步骤
3.2指定 maven 的配置文件
4 Maven 仓库与配置
4.1Maven 仓库是什么
4.1.1Maven 仓库
Maven 仓库是基于简单文件系统存储的,集中化管理 Java API 资源(构件)的一个服
务。仓库中的任何一个构件都有其唯一的坐标,根据这个坐标可以定义其在仓库中的唯一存
储路径。得益于 Maven 的坐标机制,任何 Maven 项目使用任何一个构件的方式都是完全
相同的,Maven 可以在某个位置统一存储所有的 Maven 项目共享的构件,这个统一的位
置就是仓库,项目构建完毕后生成的构件也可以安装或者部署到仓库中,供其它项目使用。
对于 Maven 来说,仓库分为两类:本地仓库和远程仓库。
4.1.2远程仓库
远程仓库指通过各种协议如 file://和 http://访问的其它类型的仓库。这些仓库可能是第
三方搭建的真实的远程仓库,用来提供他们的构件下载(例如 http://repo.maven.apache.org 和http://uk.maven.org 是 Maven 的中央仓库)。其它“远程”仓库可能是你的公司拥有的建立在文件或 HTTP 服务器上的内部仓库,用来在开发团队间共享私有构件和管理发布的。
4.1.3本地仓库
本地仓库指本机的一份拷贝,用来缓存远程下载,包含你尚未发布的临时构件。
5 仓库配置
5.1在 settings.xml 文件中配置本地仓库
本地仓库是开发者本地电脑中的一个目录,用于缓存从远程仓库下载的构件。默认的本
地仓库是${user.home}/.m2/repository。用户可使用 settings.xml 文件修改本地仓库。具体内容如下:
<?xml version="1.0" encoding="UTF-8"?>
5.2在 settings.xml 文件中配置镜像仓库
如果仓库 A 可以提供仓库 B 存储的所有内容,那么就可以认为 A 是 B 的一个镜像。例如:在国内直接连接中央仓库下载依赖,由于一些特殊原因下载速度非常慢。这时,我们可以使用阿里云提供的镜像 http://maven.aliyun.com/nexus/content/groups/public/来替换中央仓库 http://repol.maven.org/maven2/。修改 maven 的 setting.xml 文件,具体内容如下:
<mirror>
6 仓库优先级问题
本地仓库,镜像仓库,中央仓库。
镜像仓库=中央仓库。 镜像仓库是用于替代中央仓库的。
仓库访问优先级:
6.1本地仓库
第一访问本地仓库。
6.2指定仓库
如果本地仓库不存在对应信息,访问配置文件中指定的远程仓库。
这个远程仓库是第二优先级。
6.3远程仓库
6.3.1镜像仓库
镜像仓库是 Maven 开发过程中的首选远程仓库,在本地仓库和指定仓库无法获取资源
的时候,直接访问镜像仓库。
6.3.2中央仓库
如果镜像仓库不是中央仓库,则会在访问镜像仓库无法获取资源后,访问中央仓库。
五、 Maven 工程
1 Maven 的工程类型
1.1POM 工程
POM 工程是逻辑工程。用在父级工程或聚合工程中。用来做 jar 包的版本控制。
1.2JAR 工程
将会打包成 jar 用作 jar 包使用。即常见的本地工程 - Java Project。
1.3WAR 工程
将会打包成 war,发布在服务器上的工程。如网站或服务。即常见的网络工程 - Dynamic
Web Project。war 工程默认没有 WEB-INF 目录及 web.xml 配置文件,IDE 通常会显示工程错误,提供完整工程结构可以解决。
2 创建 Maven 项目
2.1创建步骤
2.1.1New--> other -->Maven Project
2.1.2勾选,创建纯净项目,不应用任何模版
2.2填写项目信息
2.2.1 Group Id 公司域名倒写
2.2.2 Artifact Id 项目名
2.2.3 Version 版本名
2.2.4 Packaging 项目类型
2.2.4.1 Jar java 项目
2.2.4.2 War : web 项目
2.2.4.3 POM: 父项目.如果项目有子项目,项目必须是 pom
2.2.5 Name : 自定义名称,内容任意
2.2.6 Description: 描述.详细描述.
2.2.7 Parent Project: 如果当前项目有父项目时填写
2.3Maven 项目结构
src/main/java 这个目录下储存 java 源代码
src/main/resources 储存主要的资源文件。比如spring的xml配置文件和log4j的properties
文件。
src/test/java 储存测试用的类,比如 JUNIT 的测试一般就放在这个目录下面
src/test/resources 储存测试用的资源文件
src 包含了项目所有的源代码和资源文件,以及其他项目相关的文件。
target 编译后内容放置的文件夹
pom.xml 是 Maven 的基础配置文件。配置项目和项目之间关系,包括配置依赖关系等等
3 工程关系
3.1依赖
即 A 工程开发或运行过程中需要 B 工程提供支持,则代表 A 工程依赖 B 工程。在这种情况下,需要在 pom.xml 文件中增加下属配置定义依赖关系
<dependencies>
3.2继承
如果 A 工程继承 B 工程,则代表 A 工程默认依赖 B 工程依赖的所有资源,且可以应用B 工程中定义的所有资源信息。被继承的工程(B 工程)只能是 POM 工程。
父工程配置
<project
子工程配置
<project
3.3聚合
当我们开发的工程拥有 2 个以上模块的时候,每个模块都是一个独立的功能集合。比如
某大学系统中拥有搜索平台,学习平台,考试平台等。开发的时候每个平台都可以独立编译,
测试,运行。这个时候我们就需要一个聚合工程。
在创建聚合工程的过程中,总的工程必须是一个 POM 工程(Maven Project),各子模
块可以是任意类型模块(Maven Module)。所有聚合工程和聚合模块必须处于同一个组
(groupId)中,且聚合工程可以嵌套。
3.3.1创建聚合项目
创建模块
聚合项目的 POM 文件
<project
4 创建 war 类型项目
六、 Maven 中的常见插件
1 编译器插件
1.1pom.xml 配置片段
<build>
1.2settings.xml 文件中配置全局编译器插件
<profile>
2 Tomcat 管理插件
2.1本地应用
使用 Tomcat 插件发布部署并执行 war 工程的时候,使用 maven build 功能实现。应用启
动命令为: tomcat7:run。命令中的 tomcat7 是插件命名,由插件提供商决定。run 为插件中的具体功能。具体 pom.xml 文件的配置如下:
<build>
2.2远程热部署
远程热部署是指,在 Tomcat 容器运行过程中,动态实现 war 工程的部署,重新部署功能。使用 maven build 功能实现,具体命令为:tomcat7:deploy 或 tomcat7:redeploy。其中 deploy代表第一次部署 war 工程;redeploy 代表 Tomcat 容器中已有同名应用,本次操作为重新部署同名 war 工程。
实现热部署需要远程访问 Tomcat 容器,所以 Tomcat 容器需要提供合适的访问方式和验 证方式。
实现热部署,需要访问 Tomcat 容器提供的原始应用 manager,并提供有效有权限的访 问用户,所以在 Tomcat 中也需提供部分配置。具体配置内容如下:
2.2.1Tomcat 中的 conf/tomcat-users.xml 文件的配置
<role
2.2.2pom.xml 文件中的配置
<build>
3 资源拷贝插件
Maven 在打包时默认只将 src/main/resources 里的配置文件拷贝到项目中并做打包处理,
而非 resource 目录下的配置文件在打包时不会添加到项目中
<build>