- 浏览: 1250161 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (461)
- 心得体会 (166)
- Hibernate (9)
- Spring (12)
- Struts1 (3)
- Ajax (4)
- Java (54)
- 其他技术 (21)
- 数据库 (29)
- EXT (0)
- Struts2 (7)
- Xml (3)
- HTML (5)
- JavaScript (12)
- 面试相关 (3)
- BLOG (11)
- 计算机 (11)
- PMP (0)
- OGNL (1)
- LINUX (79)
- AIX (1)
- Ubuntu (14)
- Android (1)
- hadoop (3)
- LINUX debian (3)
- 心得体会 eclipse (2)
- JSTL (1)
- 心得体会 hadoop cdh3u5 (2)
- maven (5)
- Hive (1)
- 心得体会 工具使用 (3)
- spring data jpa Query By Example(QBE) (1)
- nginx (2)
- Apache (1)
- mysql (6)
- LINUX mysql (2)
- freemaker (1)
- 心得体会 FastDFS Nginx 断点续传 (1)
- LINUX FastDFS Nginx 断点续传 (1)
- 心得体会 Mybatis (2)
- 心得体会 mysql (4)
- php (1)
- logback 简介 (5)
- EL (1)
- Tomcat (2)
- win7 (1)
- LINUX maven (1)
- scrumworks (1)
- linux nginx (6)
- svn linux (1)
- mac (3)
- mac git (1)
- git (1)
- nexus (2)
- golang (1)
- LINUX Redis (1)
- mac oracle (1)
最新评论
-
a785975139:
有用
MySQL Error :SHOW PROFILES -
yijiulove:
弄了半天,参照你的方法解决了.特来感谢,知道可能是先加载,但是 ...
Spring和Mybatis整合时无法读取properties的处理方案 -
chenjinqi1987:
Missing com.sun.jdmk:jmxtools:jar:1.2.1 -
leifeng2:
请问怎么使用,运行之后d盘符没有生产音频文件呢?
java录音程序 -
sundful:
chenghong726 写道你好,我也遇到你这样的问题,按照 ...
Spring和Mybatis整合时无法读取properties的处理方案
(0)
maven安装:
首先当然去Apache网站下载Maven2了。下载地址:http://maven.apache.org/download.html 。
我下载的版本是apache-maven-2.2.1-bin.zip.
然后我把apache-maven-2.2.1- bin.zip.解压到D:\apache-maven-2.2.1
maven安装:
首先当然去Apache网站下载Maven2了。下载地址:http://maven.apache.org/download.html 。
我下载的版本是apache-maven-2.2.1-bin.zip.
然后我把apache-maven-2.2.1- bin.zip.解压到D:\apache-maven-2.2.1
配置环境变量(同其它软件配置,如ant,svn):
1)MAVEN_HOME:D:\maven-2.0.4
2)在 Path 中加入%MAVEN_HOME%\bin
3)在命令行输入 Mvn -version
显示
Maven version: 2.2.1 则安装成功。
1)MAVEN_HOME:D:\maven-2.0.4
2)在 Path 中加入%MAVEN_HOME%\bin
3)在命令行输入 Mvn -version
显示
Maven version: 2.2.1 则安装成功。
(1)
下面说一些Maven1.x和Maven2.x的不同:
Maven2 把配置文件压缩成了pom.xml和settings.xml 两个文件,简洁了不少。POM是Maven的核心对象模型,在Maven2中POM已由project.xml转移到pom.xml中使用,版本也由3升 级为4。对于项目,一般只需要pom.xml就行了。在Maven2中不需要也不提倡使用maven.xml
下面说一些Maven1.x和Maven2.x的不同:
Maven2 把配置文件压缩成了pom.xml和settings.xml 两个文件,简洁了不少。POM是Maven的核心对象模型,在Maven2中POM已由project.xml转移到pom.xml中使用,版本也由3升 级为4。对于项目,一般只需要pom.xml就行了。在Maven2中不需要也不提倡使用maven.xml
生命周期的引入
在Maven2中有了明确的生命周期概念,而且都提供与之对应的命令,使得项目构建 更加清晰明了。主要的生命周期阶段.
在Maven2中有了明确的生命周期概念,而且都提供与之对应的命令,使得项目构建 更加清晰明了。主要的生命周期阶段.
(2)
基本设置,打开maven根目录\conf\settings.xml
1. 改变<localRepository>E:/app/m2/repository</localRepository> .
目 的:改变本地的数据仓库目录(存放从远程下载的jar包),如果不改变也可以,如不改变,缺省目录为:C:\Documents and Settings\主机名\.m2\repository
(3)
体验maven
创建一个java project.
在命令行中,进入你常 用的项目文件夹,输入:
mvn archetype:create -DgroupId=com.mycompany.app -DartifactId=my-app
体验maven
创建一个java project.
在命令行中,进入你常 用的项目文件夹,输入:
mvn archetype:create -DgroupId=com.mycompany.app -DartifactId=my-app
如果网络配置正确,maven就会下载需要的文件,执行任务,最终显示“BUILD
SUCCESSFUL”,并生成my-app目录到你当前命令行所在的目录.
让我们看一下mvn对项目目录的组织:
My-app
├─pom.xml
└─src (同目录下,可以有target目录)
├─main (同目录下,可以有test目录)
│ └─java
│ └─com
│ └─mycompany
│ └─app
│ └─App.java
└─test
└─java
└─com
└─mycompany
└─app
└─AppTest.java
可以看出,代码和测试代码 分别放在main及test文件夹下。
说明:
您会发现Maven在my-app目录下创建了一个pom.xml文件。这是项目的最基本部 分。pom.xml文件包含了一组指令,这些指令告诉Maven如何构建项目和包含哪些其它的特殊指令(POM是“项目对象模型”的缩写)。在默认的情况 下,Maven包含了JUnit的依赖以此来鼓励单元测试。如下:
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>com.mycompany.app</groupId>
<artifactId>my-app</artifactId>
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>
<name>my-app</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
My-app
├─pom.xml
└─src (同目录下,可以有target目录)
├─main (同目录下,可以有test目录)
│ └─java
│ └─com
│ └─mycompany
│ └─app
│ └─App.java
└─test
└─java
└─com
└─mycompany
└─app
└─AppTest.java
可以看出,代码和测试代码 分别放在main及test文件夹下。
说明:
您会发现Maven在my-app目录下创建了一个pom.xml文件。这是项目的最基本部 分。pom.xml文件包含了一组指令,这些指令告诉Maven如何构建项目和包含哪些其它的特殊指令(POM是“项目对象模型”的缩写)。在默认的情况 下,Maven包含了JUnit的依赖以此来鼓励单元测试。如下:
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>com.mycompany.app</groupId>
<artifactId>my-app</artifactId>
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>
<name>my-app</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
pom.xml元素分析:
poject 这是pom.xml的顶级元素。
modelVersion 这是元素指出了这个POM使用的是那个版本的对象模型。这个模型的版本自身么是经常改变的,但这种改变是为了使模型更加的稳定。
<groupId>: 一个项目群的ID,一个项目群可以包含多个项目
<artifactId>:一个项目的ID,是每个项目的唯一ID.
<version>: 描述了项目当前的版本.
此三个元素,组成了一个项目唯一的标记.
name 这个元素指出这个工程显示的名称。这个常用于Maven产生的文档中。
url 这个员算指出在哪里能发现工程的站点。这个常用于Maven产生的文档中。
desription 这个元素提供了这个工程基本的描述。这也常用于Maven产生的文档中。
modelVersion 这是元素指出了这个POM使用的是那个版本的对象模型。这个模型的版本自身么是经常改变的,但这种改变是为了使模型更加的稳定。
<groupId>: 一个项目群的ID,一个项目群可以包含多个项目
<artifactId>:一个项目的ID,是每个项目的唯一ID.
<version>: 描述了项目当前的版本.
此三个元素,组成了一个项目唯一的标记.
name 这个元素指出这个工程显示的名称。这个常用于Maven产生的文档中。
url 这个员算指出在哪里能发现工程的站点。这个常用于Maven产生的文档中。
desription 这个元素提供了这个工程基本的描述。这也常用于Maven产生的文档中。
(4)
maven命令
说明:
1)
当执行mvn的命令时,maven会从本地的私服(私人服务器)上找相关的 jar,若找不到,则到网上下载相应的jar且放到私服上。以后执行命令时,会发现执行时间会很快,因为maven直接从私服上获取jar.
2)
执 行关于项目的各命令时,要到项目的根目录下执行如下的命令,否则出错。提示找不到项目的pom.xml.
3)
执行以下各命令后,会在 src的同级目录下,生成一个target的目录,来存放各种结果。
maven命令
说明:
1)
当执行mvn的命令时,maven会从本地的私服(私人服务器)上找相关的 jar,若找不到,则到网上下载相应的jar且放到私服上。以后执行命令时,会发现执行时间会很快,因为maven直接从私服上获取jar.
2)
执 行关于项目的各命令时,要到项目的根目录下执行如下的命令,否则出错。提示找不到项目的pom.xml.
3)
执行以下各命令后,会在 src的同级目录下,生成一个target的目录,来存放各种结果。
在命令行下输入mvn -h , 显示mvn帮助,其中usage: mvn [options] [<goal(s)>]
[<phase(s)>]表明了mvn命令的构成。
1.
Options:可选的参数。比如前面提到的-version , -h等。
2.
Goal(s): 表示maven构建的“目标”。
比如前面的mvn archetype:create -DgroupId=com.mycompany.app -DartifactId=my-app
其中archetype:create表示 archetype插件下的create目标。这里,插件是为了某种目的构建的目标的集合,maven通过插件扩展其功能。
还可以为目标传递一 些参数,比如上面的“-DgroupId=com.mycompany.app -DartifactId=my-app”。
3.
Phase(s): 阶段。表示maven构建生命周期 中的一个步骤。使用相位命令时,maven会执行生命周期中该阶段之前的所有命令,使项目处于指定的“状态”。
比 如在刚才创建的项目路径下输入mvn compile,会创建target文件夹,并编译class,使项目处于“已编译”状态。
maven定 义的生命周期中主要的相位如下:
validate: 验证项目是否正确以及相关信息是否可用。
compile: 编译。会生成存放到/target/classes目录.
1.
Options:可选的参数。比如前面提到的-version , -h等。
2.
Goal(s): 表示maven构建的“目标”。
比如前面的mvn archetype:create -DgroupId=com.mycompany.app -DartifactId=my-app
其中archetype:create表示 archetype插件下的create目标。这里,插件是为了某种目的构建的目标的集合,maven通过插件扩展其功能。
还可以为目标传递一 些参数,比如上面的“-DgroupId=com.mycompany.app -DartifactId=my-app”。
3.
Phase(s): 阶段。表示maven构建生命周期 中的一个步骤。使用相位命令时,maven会执行生命周期中该阶段之前的所有命令,使项目处于指定的“状态”。
比 如在刚才创建的项目路径下输入mvn compile,会创建target文件夹,并编译class,使项目处于“已编译”状态。
maven定 义的生命周期中主要的相位如下:
validate: 验证项目是否正确以及相关信息是否可用。
compile: 编译。会生成存放到/target/classes目录.
mvn compile :编译源代码
mvn test-compile :编译测试代码
test: 通过junit进行单元测试。 会生成存放到/target/test-classes目录及执行verify命令.
package: 根据事先指定的格式(比如jar),进行打包。 会生成存放到/target目录下.
执行此命令,会自动先执行compile,test等命令.
integration-test: 部署到运行环境中,准备进行集成测试。
verify: 对包进行有效性性和质量检查。会生成存放到/target/surefire-reports(存放单元测试报告)目录.
install: 安装到本地代码库: 默认会复制到本地的jar存放的地方。
deploy: 在集成或发布环境,将包发布到远程代码库。
在“默认”的生 命周期之外,还有两个“阶段”:
clean: 清除以前的构建物。 会删除整个target目录.
site: 生成项目文档。 会生成存放到/target/site目录.
mvn test-compile :编译测试代码
test: 通过junit进行单元测试。 会生成存放到/target/test-classes目录及执行verify命令.
package: 根据事先指定的格式(比如jar),进行打包。 会生成存放到/target目录下.
执行此命令,会自动先执行compile,test等命令.
integration-test: 部署到运行环境中,准备进行集成测试。
verify: 对包进行有效性性和质量检查。会生成存放到/target/surefire-reports(存放单元测试报告)目录.
install: 安装到本地代码库: 默认会复制到本地的jar存放的地方。
deploy: 在集成或发布环境,将包发布到远程代码库。
在“默认”的生 命周期之外,还有两个“阶段”:
clean: 清除以前的构建物。 会删除整个target目录.
site: 生成项目文档。 会生成存放到/target/site目录.
-skipping的用法:
只测试而不编译,也不测试编译:mvn test -skipping compile -skipping test-compile (这里要特别注意 -skipping 的灵活运用,当然也可以用于其他组合命令)
只测试而不编译,也不测试编译:mvn test -skipping compile -skipping test-compile (这里要特别注意 -skipping 的灵活运用,当然也可以用于其他组合命令)
generate-sources,产生应用需要的任何额外的源代码,如xdoclet。
mvn eclipse:eclipse:
此命令用于生成Eclipse项目文 件.classpath,.project,使项目可以直接由eclipse的import-->从现成的项目中导入.导入其它IDE的格式也一 样:mvn IDE名:IDE名.
出现的问题:
当建立一个工程后,执行 mvn eclipse:eclipse ,建立一个maven的工程,用eclipse打开后,发现报如下错误:Unbound classpath variable: 'M2_REPO/junit/junit/3.8.1/junit-3.8.1.jar' in project my-webapp ,这是因为在Eclipse 没有配置 M2_REPO 变量,配置步骤:window >> preferences >> Java >> Build Path >> Classpath Variables
新建一个 M2_REPO 的变量,变量值指向你系统的Maven2的数据仓库位置。
此命令用于生成Eclipse项目文 件.classpath,.project,使项目可以直接由eclipse的import-->从现成的项目中导入.导入其它IDE的格式也一 样:mvn IDE名:IDE名.
出现的问题:
当建立一个工程后,执行 mvn eclipse:eclipse ,建立一个maven的工程,用eclipse打开后,发现报如下错误:Unbound classpath variable: 'M2_REPO/junit/junit/3.8.1/junit-3.8.1.jar' in project my-webapp ,这是因为在Eclipse 没有配置 M2_REPO 变量,配置步骤:window >> preferences >> Java >> Build Path >> Classpath Variables
新建一个 M2_REPO 的变量,变量值指向你系统的Maven2的数据仓库位置。
组合命令:
可以通过对目标及相位的组合使得一个命令完成多个功能,比如:
mvn clean dependency:copy-dependencies package
相当于按顺序执行
mvn clean
mvn dependency:copy-dependencies
mvn package
可以通过对目标及相位的组合使得一个命令完成多个功能,比如:
mvn clean dependency:copy-dependencies package
相当于按顺序执行
mvn clean
mvn dependency:copy-dependencies
mvn package
(5)
创建一个web project.
接下来我们看看稍微复杂点的地方,我们知道手动开始一个Java web项目比手动开始一个简单的Java项目更耗时,然而Maven的使用则能化难为易。下面的例子(实际上是一行命令)展现了项目结构的构造。
mvn archetype:create -DgroupId=com.web -DartifactId=webProject -DarchetypeArtifactId=maven-archetype-webapp
生成的结果结构如下所示:
webProject
----src
----main
----resources
----webapp
----WEB-INF
pom.xml(存 在于src的同级目录,即根目录中)内容:
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>com.web</groupId>
<artifactId>webProject</artifactId>
<packaging>war</packaging>
<version>1.0-SNAPSHOT</version>
<name>webProject 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>
</dependencies>
<build>
<finalName>webProject</finalName>
</build>
</project>
可 见,现在默认的打包方式是war. 最后的<build>标签,用于设置war包的名称。
创建一个web project.
接下来我们看看稍微复杂点的地方,我们知道手动开始一个Java web项目比手动开始一个简单的Java项目更耗时,然而Maven的使用则能化难为易。下面的例子(实际上是一行命令)展现了项目结构的构造。
mvn archetype:create -DgroupId=com.web -DartifactId=webProject -DarchetypeArtifactId=maven-archetype-webapp
生成的结果结构如下所示:
webProject
----src
----main
----resources
----webapp
----WEB-INF
pom.xml(存 在于src的同级目录,即根目录中)内容:
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>com.web</groupId>
<artifactId>webProject</artifactId>
<packaging>war</packaging>
<version>1.0-SNAPSHOT</version>
<name>webProject 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>
</dependencies>
<build>
<finalName>webProject</finalName>
</build>
</project>
可 见,现在默认的打包方式是war. 最后的<build>标签,用于设置war包的名称。
(6)
下面总结一下如何使用Maven2创建典型的三类项目:
普通的Java项目,如基础包等:
mvn archetype:create -DgroupId=com.yourcompany -DartifactId=myproject -DarchetypeArtifactId=maven-archetype-quickstart
普通的Web项目,如一个Web项目:
mvn archetype:create -DgroupId=com.yourcompany -DartifactId=myproject -DarchetypeArtifactId=maven-archetype-webapp
Appfuse 中的Struts 2.0项目:
mvn archetype:create -DarchetypeGroupId=org.appfuse -DarchetypeArtifactId=appfuse-basic-struts -DremoteRepositories=http://static.appfuse.org/repository -DarchetypeVersion=2.0-m4-SNAPSHOT -DgroupId=com.mycompany -DartifactId=myproject
(7)
依赖管理
为了给项目添加一个依赖项,必须将此依赖项添加到pom.xml文件中。下次运行Maven的时候,它将从 Ibiblio存储库中得到这个依赖项,并且将此依赖项添加到项目构建路径中。
如:
在Maven中使用依赖是简单的。让我们看看往上述 pom.xml文件中添加一个依赖项的情况。我们虽然已经使用了JUnit,但让我们将功能强大的Quartz库添加到项目中。Quartz是一款用纯 Java编写的关于时间安排的开源项目,它是您时间安排需求方面的很好的选择。
<dependency>
<groupId>quartz</groupId>
<artifactId>quartz</artifactId>
<version>1.5.1</version>
<scope>compile</scope>
</dependency>
我 们仅仅只需添加<dependencies>这个元素,Maven就能下载Quartz并将其作为项目中的一个依赖项。不用担心Quartz 的依赖项,一个Maven的存储库将包含依赖项自身依赖的资源信息,当Maven下载Quartz的时候,它自身的依赖资源也同样会被下载。为了验证版本 为1.5.1的Quartz存在于Ibiblio库中,我们可以浏览Maven存储库。注意到scope参数的使用,它告诉了Maven依赖项在何种阶段 是所需的。在使用JUnit的情况下,我们设置scope参数的值为test来告诉Maven这个依赖项只是在测试阶段所需的,而不是运行时所需的资源。 以下是scope参数值的说明:
--compile,缺省值,适用于所有阶段,会随着项目一起发布。
--provided,类似 compile,期望JDK、容器或使用者会提供这个依赖。如servlet.jar。
--runtime,只在运行时使用,如JDBC驱动, 适用运行和测试阶段。
--test,只在测试时使用,用于编译和运行测试代码。不会随项目发布。
--system,类似 provided,需要显式提供包含依赖的jar,Maven不会在Repository中查找它。
依赖管理
为了给项目添加一个依赖项,必须将此依赖项添加到pom.xml文件中。下次运行Maven的时候,它将从 Ibiblio存储库中得到这个依赖项,并且将此依赖项添加到项目构建路径中。
如:
在Maven中使用依赖是简单的。让我们看看往上述 pom.xml文件中添加一个依赖项的情况。我们虽然已经使用了JUnit,但让我们将功能强大的Quartz库添加到项目中。Quartz是一款用纯 Java编写的关于时间安排的开源项目,它是您时间安排需求方面的很好的选择。
<dependency>
<groupId>quartz</groupId>
<artifactId>quartz</artifactId>
<version>1.5.1</version>
<scope>compile</scope>
</dependency>
我 们仅仅只需添加<dependencies>这个元素,Maven就能下载Quartz并将其作为项目中的一个依赖项。不用担心Quartz 的依赖项,一个Maven的存储库将包含依赖项自身依赖的资源信息,当Maven下载Quartz的时候,它自身的依赖资源也同样会被下载。为了验证版本 为1.5.1的Quartz存在于Ibiblio库中,我们可以浏览Maven存储库。注意到scope参数的使用,它告诉了Maven依赖项在何种阶段 是所需的。在使用JUnit的情况下,我们设置scope参数的值为test来告诉Maven这个依赖项只是在测试阶段所需的,而不是运行时所需的资源。 以下是scope参数值的说明:
--compile,缺省值,适用于所有阶段,会随着项目一起发布。
--provided,类似 compile,期望JDK、容器或使用者会提供这个依赖。如servlet.jar。
--runtime,只在运行时使用,如JDBC驱动, 适用运行和测试阶段。
--test,只在测试时使用,用于编译和运行测试代码。不会随项目发布。
--system,类似 provided,需要显式提供包含依赖的jar,Maven不会在Repository中查找它。
依赖下载后,存在在本地jar库的规则是根据pom.xml中<dependency>的定义,如:
<dependency>
<groupId>quartz</groupId>
<artifactId>quartz</artifactId>
<version>1.5.1</version>
<scope>compile</scope>
</dependency>
dependency 节点中groupId对应路径中第一层目录,artifactId对应第二层,version对应第三层.
/jar库根目录 /quartz/quartz/1.5.1/
<dependency>
<groupId>quartz</groupId>
<artifactId>quartz</artifactId>
<version>1.5.1</version>
<scope>compile</scope>
</dependency>
dependency 节点中groupId对应路径中第一层目录,artifactId对应第二层,version对应第三层.
/jar库根目录 /quartz/quartz/1.5.1/
(8)
8.1
设置maven的编译参数
如上例中的my-app,添加build标签后的内容如下:
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>com.mycompany.app</groupId>
<artifactId>my-app</artifactId>
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>
<name>my-app</name>
<url>http://maven.apache.org</url>
8.1
设置maven的编译参数
如上例中的my-app,添加build标签后的内容如下:
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>com.mycompany.app</groupId>
<artifactId>my-app</artifactId>
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>
<name>my-app</name>
<url>http://maven.apache.org</url>
<build> <!-- 项目的构建信息 -->
<sourceDirectory>src\main</sourceDirectory>
<testSourceDirectory>src\test</testSourceDirectory>
<outputDirectory>target\jasonClasses</outputDirectory>
<testOutputDirectory>target\jasonTest-classes</testOutputDirectory>
<directory>jasonJars</directory> <!-- 构建后生成文件(jar,site等)所在位置 -->
<finalName>jasonJAVAProject</finalName>
</build>
<sourceDirectory>src\main</sourceDirectory>
<testSourceDirectory>src\test</testSourceDirectory>
<outputDirectory>target\jasonClasses</outputDirectory>
<testOutputDirectory>target\jasonTest-classes</testOutputDirectory>
<directory>jasonJars</directory> <!-- 构建后生成文件(jar,site等)所在位置 -->
<finalName>jasonJAVAProject</finalName>
</build>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
这样,在执行mvn package时,则maven会:
将 源码目录(src\main)中的东西编译到target\jasonClasses目录下;
将源码目录(src\test)中的东西编译到 target\jasonTest-classes目录下;
将最后jar打包文件放于根目录下的jasonJars目录下,且名称 为"jasonJAVAProject".
8.2
对于web项目,可以设置资源文件的相关参数:
<build>
<resources><!-- 存放资源文件。这里的文件不需要编译,在部署打包时,直接复制这里的文件 -->
<resource>
<directory>src/resources</directory>
<!--例外的文件类型。如果这里存放有.java文件,则仍然需要编译。 -->
<excludes>
<exclude>**/*.java</exclude>
</excludes>
</resource>
</resources>
</build>
这样, 可以设置在打包war时,要加载哪些资源文件.
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
这样,在执行mvn package时,则maven会:
将 源码目录(src\main)中的东西编译到target\jasonClasses目录下;
将源码目录(src\test)中的东西编译到 target\jasonTest-classes目录下;
将最后jar打包文件放于根目录下的jasonJars目录下,且名称 为"jasonJAVAProject".
8.2
对于web项目,可以设置资源文件的相关参数:
<build>
<resources><!-- 存放资源文件。这里的文件不需要编译,在部署打包时,直接复制这里的文件 -->
<resource>
<directory>src/resources</directory>
<!--例外的文件类型。如果这里存放有.java文件,则仍然需要编译。 -->
<excludes>
<exclude>**/*.java</exclude>
</excludes>
</resource>
</resources>
</build>
这样, 可以设置在打包war时,要加载哪些资源文件.
(9)
如何处理那些麻烦的Sun的jar包和那些需要但却不能在远程存储库中找到的jar包了?我们必须先下载这些jar包, 再使用Maven来手动将这些jar包安装到本地的存储库中。
如何把dwr.jar包上传到本地数据仓库的例子:
1.下载dwr.jar 包到本地,我把它放到了 C:/ (C盘根目录)
2.进入“命令行提示符”,进入到C:/,然后执行:
mvn install:install-file -Dfile=dwr.jar -DgroupId=dwr.mocha -DartifactId=dwrDart -Dversion=1.0 -Dpackaging=jar
这样就把dwr传到了本地仓库中,上 传到仓库中的jar包名为dwrDart-1.0.jar,目录结构为dwr/mocha/dwrDart/1.0/dwrDart-1.0.jar.
(10)eclipse中maven插件的使用
1.直接在Eclipse 中安装插件,操作步骤
Open Eclipse, Help -> Install New Software ... -> Add
Name: Maven2
Location: http://m2eclipse.sonatype.org/sites/m2e
Open Eclipse, Help -> Install New Software ... -> Add
Name: Maven2
Location: http://m2eclipse.sonatype.org/sites/m2e
2.修改Eclipse中关于Maven的配置:
Window -> Preferences 在左边的树中查找到 Maven > Installations ,修改
"User Settings",查询到Maven安装目录下conf/settings.xml文件即可。
若不用这种方式,也可以用以下两种方式:
要让eclipse知道Maven 2的repository(仓库)的路径。
a.
因此要设置一个M2_REPO的变量为 classpath。可以使用命令行的方式来设置:
mvn -Declipse.workspace=<path-to-eclipse-workspace> eclipse:add-maven-repo
b.
还可以在eclipse中定义一个新的classpath变量通过在eclipse的 菜单上选择Window> Preferences. 选择Java > Build Path > Classpath Variables page.
a.
因此要设置一个M2_REPO的变量为 classpath。可以使用命令行的方式来设置:
mvn -Declipse.workspace=<path-to-eclipse-workspace> eclipse:add-maven-repo
b.
还可以在eclipse中定义一个新的classpath变量通过在eclipse的 菜单上选择Window> Preferences. 选择Java > Build Path > Classpath Variables page.
3.
创建导入maven项目:
a先在命令行模式下,用mvn去创建一个java/web/ssh项目;
b再用mvn eclipse:eclipse;
c最后在eclipse中import--从已存在的项目导入,将项目导入到eclipse中;
d工程导入后,其左上角并没有标记。右键选择项目--maven2--enable dependencies
management.当添加依赖管理后,会在其左上角出现一个“M”。
e当你在eclipse中的pom.xml中添加新的<denpency>,保存后,eclipse会自动下载。
下载完后,可以在项目中的左栏的(project explorer)maven dependencies中看到。若删除此依赖,则会同时从maven
dependencies删除。
f,在eclipse中的maven工程,每创建一个目录后,须在java build
path--source--add folder,将其显示出来;若要调整目录顺序,要切换到java build
path--source--order and export中,进行调整.
附加说明:
java build path-->source-->add
Folder界面:
此界面用于添加一个文件夹到java项目中。也可以用于隐藏,显示文件于eclipse中。
当选中时,即可到 eclipse中看到,否则只能在文件系统中找到,在eclipse中看不到。
此界面用于添加一个文件夹到java项目中。也可以用于隐藏,显示文件于eclipse中。
当选中时,即可到 eclipse中看到,否则只能在文件系统中找到,在eclipse中看不到。
java build path-->project界面:
用于导入另一项目,来 作为当前项目的依赖类库。
用于导入另一项目,来 作为当前项目的依赖类库。
4.
安装maven无法在线下载的依赖包到本地仓库,实例如下:
若出错信息:
10-4-18 上午11时22分27秒: Missing artifact javax.transaction:jta:jar:1.0.1B:compile
其上格式 是:DgroupId:DartifactId:Dpackaging:Dversion
10-4-18 上午11时22分27秒: Missing artifact javax.transaction:jta:jar:1.0.1B:compile
其上格式 是:DgroupId:DartifactId:Dpackaging:Dversion
故以下添加时,相应的信息设置如下:
1)
mvn install:install-file -DgroupId=javax.transaction -DartifactId=jta -Dversion=1.0.1B -
1)
mvn install:install-file -DgroupId=javax.transaction -DartifactId=jta -Dversion=1.0.1B -
Dpackaging=jar
-Dfile=E:\workspaces\appfuse\myapp\lib\hibernate-3.1.3\lib\jta.jar
则会 在本地库里创建:-DgroupId路径/-DartifactId/-Dversion/.即:
E:\apache-maven-2.2.1\jarFromNet\javax\transaction\jta\1.0.1B
2)
然 后再在eclipse中点击update denpendencies即可.
则会 在本地库里创建:-DgroupId路径/-DartifactId/-Dversion/.即:
E:\apache-maven-2.2.1\jarFromNet\javax\transaction\jta\1.0.1B
2)
然 后再在eclipse中点击update denpendencies即可.
3)
另外说明:若在eclipse中run as--mvn install,也就是调用了以上的安装命令,将当前项目打包后,放到本地的仓库中:
在命令行执行mvn install,如:
当执行maven命令时,会在console中显示执行的结果。[INFO] Installing
E:\apache-maven-2.2.1\workspaceAddMyself\jasonMaven\target\jasonMaven.war
to
E:\apache-maven-2.2.1\jarFromNet\com\webproject\jasonMaven\1.0-SNAPSHOT\jasonMaven-1.0-SNAPSHOT.war
即 将war包上传到本地的资源库中。
即 将war包上传到本地的资源库中。
5。
可用项目骨架有:
* maven-archetype-archetype
* maven-archetype-j2ee-simple
* maven-archetype-mojo
* maven-archetype-portlet
* maven-archetype-profiles (currently under development)
* maven-archetype-quickstart
* maven-archetype-simple (currently under development)
* maven-archetype-site
* maven-archetype-site-simple, and
* maven-archetype-webapp
* maven-archetype-archetype
* maven-archetype-j2ee-simple
* maven-archetype-mojo
* maven-archetype-portlet
* maven-archetype-profiles (currently under development)
* maven-archetype-quickstart
* maven-archetype-simple (currently under development)
* maven-archetype-site
* maven-archetype-site-simple, and
* maven-archetype-webapp
发表评论
-
TXT文件合并法,不需要任何软件!
2011-08-04 18:23 1990一、dos copy方法 发现 ... -
UML用户指南(二)----类、关系、图、接口、包、实例
2010-08-09 14:07 1465类 UML为类提供了图形表示,强调抽象 ... -
UML用户指南(一)-----入门
2010-08-09 14:07 1427为什么要建模 如果想搭建一个狗窝,备好木材、 ... -
2010.4.24更新 windows 7 x86/x64 应用全面导航(菜鸟老鸟全兼容)
2010-04-25 09:20 44131.正确选择win7安装文件 首先确定你需要x64系 ... -
xslt函数详解
2010-03-15 10:09 2595------------------------------- ... -
Eclipse基础--plugin插件安装
2009-11-20 16:25 1106Eclipse 是一个开放源代 ... -
Maven2 的简单用法
2009-11-06 16:59 38671.Maven的安装1.1Windows 2000 ... -
使用maven2快速创建项目
2009-11-06 16:53 1176Maven2在项目管理方面影响越来越大,很多项目都使用Mave ... -
手工把tomcat5安装成windows服务
2008-11-12 10:40 2330今天搭一个Tomcat服务器,为了方便决定将解压版(非win ... -
开发者必知 制作标准用户手册的15条技巧
2008-07-12 09:40 1669用户手册声称可解决问题,但实际上不仅不能提供帮助,反而让你愈加 ... -
回车登陆 ie firefox 兼容
2008-06-30 10:41 2403function keySub(e){ var msie ... -
完整显示当前日期和时间的JS代码
2008-06-10 09:14 3420<script> function tick() ... -
weblogic无法启动报空指针错误的解决办法
2008-05-23 17:42 3639AIX下无法启动weblogic, ... -
在myeclipse中配置weblogic[转]
2008-03-06 13:54 1762安装WebLogic8.1 安装WebLog ... -
MSN,QQ在线即时交谈网页代码
2008-01-23 13:31 3207想让你的msn和QQ一样可以生成在线交谈状态吗?试试这个代码吧 ... -
Apache Rewrite 规则的常见应用
2008-01-23 10:36 10843一:目的本文旨在提供如 ... -
lucene学习
2007-12-03 22:18 1706全文检索系统的结构包括:文本处理引擎,索引引擎,磁盘索引文件 ... -
urlRewriteFilter来实现url的美化
2007-11-24 13:21 5153前两天做了一个动态jsp转静态html,用到了urlrewri ... -
WAP开发FAQ
2007-11-23 22:08 29941. 开发WAP软件需要哪些 ... -
WML语言详解
2007-11-23 22:06 1270元素和标签是wml的主要语法,它们决定了wml编程的基本原则。 ...
相关推荐
标题“maven2离线安装包”指的是针对Maven 2的不依赖网络环境的安装包,主要用于在没有互联网连接或者网络环境不稳定的情况下安装和使用Maven。Maven是一个项目管理和综合工具,它简化了Java项目的构建、依赖管理和...
Maven 2 Eclipse Plugin 是一个强大的开发工具,它将Apache Maven的构建功能与Eclipse IDE紧密集成,使得Java开发者能够在Eclipse环境中无缝地管理项目依赖、构建和测试。这个插件极大地简化了Maven项目的配置和管理...
maven2的eclipse插件 for eclipse 3.5+。 插件安装时,我们只需在eclipse根目录下新建一个【links】目录,然后在里面创建【.link】扩展名的文件,在里面写上类似于【path=F:\\IDE\\eclipsePlugin\\maven2】这样的...
本篇文章将深入探讨"Maven2资源和配置下载"的主题,以及如何在MyEclipse环境中搭建私有仓库(私服)来管理和分发Maven文件。 首先,Maven2是Apache软件基金会开发的一款构建工具,它通过XML格式的POM(Project ...
### Apache Maven 2 有效实施知识点详解 #### 一、Apache Maven 2 概述 Apache Maven 是一个项目管理和理解工具。它包含了构建过程(build process)、软件项目信息和最佳实践指南。Maven 的主要目标是让构建过程...
maven2之m2eclipse使用手册.doc
支持maven2 maven3 通用版本eclipse插件,在maven官网下载apache-maven-3.2.1-bin.zip,解压插件压缩包到path=D:\m2e-0.12.0.20101115-1102 在eclipse新建links文件夹,新建文件maven23.link,内容为:path=D:/m2e-...
Maven2 是一个强大的项目管理和构建工具,它主要应用于Java开发领域,尤其在Web开发中扮演着重要角色。Maven通过自动化构建过程,包括编译、测试、打包、部署等步骤,大大简化了项目的管理工作。与Eclipse中的Maven...
标题 "maven2 eclipse" 暗示了我们要讨论的是如何在 Eclipse 集成管理 Maven 项目。这篇博文可能是关于如何将 Maven 2.x 集成到 Eclipse 开发环境中,以便更有效地构建和管理Java项目。Maven 是一个项目管理和综合...
maven2-xdoclet2-plugin-2.0.5.jar
Maven2 基础知识点总结 Maven2 是一个基于 Java 的项目管理和构建工具,提供了一个灵活的方式来管理项目的构建、报告和文档。下面是 Maven2 的一些基础知识点总结。 一、Maven2 项目结构 Maven2 项目结构主要分为...
《Maven2完全使用手册》 Maven2是一款强大的Java项目管理和综合工具,它通过提供一套标准化的构建过程,大大简化了项目的构建、依赖管理和文档生成。相比其前身Maven1,Maven2进行了重大改进,提高了效率并引入了...
**Maven2相关资料** Maven是一个强大的Java项目管理工具,它通过自动化构建流程,简化了项目的构建、依赖管理和文档生成。Maven2是Maven的第二个主要版本,相较于Maven1,它提供了许多改进和增强,使得Java开发更加...
maven2 jar包 maven2 jar包 maven2 jar包 maven2 jar包 maven2 jar包 maven2 jar包 maven2 jar包 maven2 jar包 maven2 jar包 maven2 jar包 maven2 jar包 maven2 jar包
** Maven2 概述 ** Maven 是一个项目管理和综合工具,主要应用于Java开发环境。Maven2 是 Maven 的一个版本,它简化了构建过程,通过自动化构建生命周期和依赖管理来帮助开发者。Maven 使用一个统一的项目对象模型...
### MAVEN2实用指南知识点详解 #### 一、Maven2简介与实用性 Maven2是一种项目管理和构建工具,主要用于Java项目的自动化构建、依赖管理和生命周期管理。它通过一系列的插件和约定优于配置的原则,简化了项目的...
包含:Maven2_基础教程.pdf\《Maven权威指南》-电子书下载(PDF)(中文)\maven2完全使用手册.docx\Maven3实战笔记04Maven的生命周期和插件.doc\Maven实战.pdf\Maven学习指南.pdf
官网公布的 Eclipse 的 Maven2 插件,本插件版本是:m2e-0.12.0.20101115-1102,大小 11 MB。 关于安装 Maven2 插件到 Eclipse 的详细步骤,请参考博客《集成 Maven 2 插件到 eclipse 的过程》,博客地址:...
《构建优化:深入理解Maven2源代码》 在软件开发过程中,构建工具扮演着至关重要的角色,它们负责管理依赖、编译代码、打包应用以及执行测试等任务。Maven2,作为Java领域广泛使用的自动化构建工具,因其强大的功能...
Maven 2 使用手册,chm中文格式。