一个计算机技术爱好者与学习者

0%

1. 问题描述

明明没有错误的Maven项目,导入到Eclipse之后,项目名的旁边会出现一个叉号。虽然不影响项目的使用,但是,看起来总有一点不爽。

2. 解决办法

单击项目,然后alt+F5,Update Maven Project。大部分的项目,都可以通过这个方法去掉叉号。暂时不懂得原理,随着学习的深入,会懂得的。

下载安装Maven

平时使用的,是Eclipse的Eclipse IDE for Java EE Developers 版本,自带Maven。
但是,想要使用Maven本地安装jar文件,就需要自己安装Maven。

下载地址: http://maven.apache.org/download.cgi

1、解压到自己喜欢的目录(这里郝同学放到D:\Server路径下)。
2、添加环境变量M2_HOME,值为D:\Server\apache-maven-3.3.3
3、在Path中添加;%M2_HOME%\bin;

打开命令提示符,输入mvn -v,如果能够看到maven版本号,说明安装成功。

Oracle驱动jar包安装

以安装Oracle驱动jar包为例。
由于Oracle授权问题,Maven不提供Oracle JDBC Driver,为了在Maven项目中应用Oracle JDBC driver,必须手动添加到本地仓库。

下载jar包

JDBC、SQLJ、Oracle JPublisher 和通用连接池 (UCP)
JDBC and Universal Connection Pool (UCP)

郝同学使用的是Oracle11g,下载下来的jar包名为ojdbc14.jar。通过解压缩软件看到,jar包中有一个META-INF/MANIFEST.MF文件。打开这个文件,我们看到

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Manifest-Version: 1.0
Specification-Title: Oracle JDBC driver classes for use with JDK14
Sealed: true
Created-By: 1.4.2_08 (Sun Microsystems Inc.)
Implementation-Title: ojdbc14.jar
Specification-Vendor: Oracle Corporation
Specification-Version: Oracle JDBC Driver version - "10.2.0.3.0"
Implementation-Version: Oracle JDBC Driver version - "10.2.0.3.0"
Implementation-Vendor: Oracle Corporation
Implementation-Time: Tue Feb 27 15:23:24 2007

Name: oracle/sql/converter/
Sealed: false

Name: oracle/sql/
Sealed: false

Name: oracle/sql/converter_xcharset/
Sealed: false

等下我们要用到version信息:10.2.0.3.0

阅读全文 »

pom.xml速览

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<project>  
<modelVersion>4.0.0</modelVersion>
<groupId>...</groupId>
<artifactId>...</artifactId>
<version>...</version>
<packaging>...</packaging>
<dependencies>...</dependencies>
<parent>...</parent>
<dependencyManagement>...</dependencyManagement>
<modules>...</modules>
<properties>...</properties>

<build>...</build>
<reporting>...</reporting>

<name>...</name>
<description>...</description>
<url>...</url>
<inceptionYear>...</inceptionYear>
<licenses>...</licenses>
<organization>...</organization>
<developers>...</developers>
<contributors>...</contributors>

<issueManagement>...</issueManagement>
<ciManagement>...</ciManagement>
<mailingLists>...</mailingLists>
<scm>...</scm>
<prerequisites>...</prerequisites>
<repositories>...</repositories>
<pluginRepositories>...</pluginRepositories>
<distributionManagement>...</distributionManagement>
<profiles>...</profiles>
</project>

POM包括了所有的项目信息:

  • groupId:项目或者组织的唯一标志,并且配置时生成的路径也是由此生成,如org.codehaus.mojo生成的相对路径为:/org/codehaus/mojo
  • artifactId:项目的通用名称
  • version:项目的版本
  • packaging:打包的机制,如pom, jar, maven-plugin, ejb, war, ear, rar, par
  • classifier:分类
阅读全文 »

Maven是什么

Maven这个单词来自于意第绪语,意为知识的积累,最早在Jakata Turbine项目中它开始被用来试图简化构建过程。

Maven是基于项目对象模型(POM,Project Object Model),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。

Maven能做什么

Maven采用了一种被称之为POM的概念来管理项目,所有的项目配置信息都被定义在一个叫做pom.xml的文件中,通过该文件,Maven可以管理项目的整个声明周期,包括编译,构建,测试,发布,报告等等。目前Apache下绝大多数项目都已经采用Maven进行管理。而Maven本身还支持多种插件,可以方便更灵活的控制项目。

郝同学使用Maven,最深切的体会是,不用手动导入jar包,写写配置文件就搞定了,真方便!

阅读全文 »

名词解释

SSH:SSH不是一个框架,而是多个框架(Struts+Spring+Hibernate)的集成,是目前较流行的一种Web应用程序开源集成框架,用于构建灵活、易于扩展的多层Web应用程序。

Struts:它通过采用 Java Servlet/JSP 技术,实现了基于JavaEE Web应用的MVC设计模式的应用框架,是MVC经典设计模式中的一个经典产品。

Struts2:它是Struts的下一代产品,是在Struts和WebWork的技术基础上进行了合并的全新的Struts2框架。其全新的Struts2的体系结构与Struts的体系结构差别巨大。Struts2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开,所以Struts2可以理解为WebWork的更新产品。

Spring:简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。

阅读全文 »