Maven实战 Item3 -- Maven项目构建2_构建一个maven2 3项目

简介: Maven实战 Item3 -- Maven项目构建2_构建一个maven2 3项目

正文

maven作为一个高度自动化构建工具,本身提供了构建项目的功能,下面就来体验一下使用maven构建项目的过程。

一、构建Jave项目

1.1、创建Jave Project

1、使用mvn archetype:generate命令,如下所示:

mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=myapp -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

2、使用mvn archetype:create命令,如下所示:

mvn archetype:create -DgroupId=com.mycompany.app -DartifactId=myapp -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

使用"mvn archetype:generate"命令和"mvn archetype:create"都可以创建项目,目前没有发现这两者的区别,唯一区别的地方就是发现使用"mvn archetype:generate"命令创建项目时要特别长的时间才能够将项目创建好,而使用"mvn archetype:create"命令则可以很快将项目创建出来。

使用"mvn archetype:create"命令创建一个java项目的过程如下图所示:

BUILD SUCCESS就表示项目构建成功,当在前用户目录下(即C:\Documents and Settings\Administrator)下构建了一个Java Project叫做myapp。

构建好的Java项目的目录结构如下:

可以看到,Maven帮我们创建的项目是一个标准的Maven项目,不过目前Maven只是帮我们生成了src/main/java(存放项目的源代码)和src/test/java(存放测试源代码)这两个目录,但实际项目开发中我们一般都会有配置文件,例如log4j.properties,所以我们还需要手动创建src/main/resources(存放项目开发中用到的配置文件,如存放log4j.properties等)和src/test/resources(存放测试时用到的配置文件),如下图所示:

然后我们就可以将创建好的myapp项目导入到Eclipse中进行开发了,如下图所示:

1.2、JavaProject的pom.xml文件说明

通过Maven构建的JavaProject,在项目的根目录下都会存在一个pom.xml文件,进入myapp目录,可以看到有一个pom.xml文件,这个文件是Maven的核心。如下图所示:

1、pom意思就是project object model。

2、pom.xml包含了项目构建的信息,包括项目的信息、项目的依赖等。

3、pom.xml文件是可以继承的,大型项目中,子模块的pom.xml一般都会继承于父模块的pom.xml

pom.xml文件的内容如下:

4.0.0

com.mycompany.app
myapp
1.0-SNAPSHOT
jar
myapp
http://maven.apache.org
junit junit 3.8.1 test
pom.xml文件的节点元素说明:
       pom文件的顶级节点
     object model版本,对Maven2和Maven3来说,只能是4.0.0 
       项目创建组织的标识符,一般是域名的倒写
      定义了项目在所属组织的标识符下的唯一标识,一个组织下可以有多个项目
        当前项目的版本,SNAPSHOT,表示是快照版本,在开发中
      打包的方式,有jar、war、ear等
        项目的名称
          项目的地址
    属性配置,比如:<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
     构建项目依赖的jar

其中由groupId、artifactId和version唯一的确定了一个项目坐标

1.3、使用Maven编译-测试-打包-安装项目
1.3.1、编译

编译源程序,进入命令行,切换到myapp目录,执行命令:mvn clean compile,如下图所示:

编译成功,在myapp目录下多出一个target目录,target\classes里面存放的就是编译后的class文件,如下图所示:

1.3.2、测试

进入命令行,切换到myapp目录,执行命令:mvn clean test,如下图所示:

测试成功,在myapp\target目录下会有一个test-classes目录,存放的就是测试代码的class文件,如下图所示:

1.3.3、打包

进入命令行,切换到myapp目录,执行命令:mvn clean package,执行打包命令前,会先执行编译和测试命令,如下图所示:

构建成功后,会在target目录下生成myapp-1.0-SNAPSHOT.jar包,如下图所示:

1.3.4、安装

进入命令行,切换到my-app目录,执行命令:mvn clean install ,执行安装命令前,会先执行编译、测试、打包命令,如下图所示:

构建成功,就会将项目的jar包安装到本地仓库,如下图所示:

1.3.5、运行jar包

进入命令行,切换到myapp目录,执行命令:java -cp target\myapp-1.0-SNAPSHOT.jar com.mycompany.app.App,如下图所示:

二、构建JavaWeb项目

2.1、创建JavaWeb项目

1、使用mvn archetype:generate命令,如下所示:

mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-WebApp -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false

使用"mvn archetype:generate"命令创建一个javaWeb项目的过程如下图所示:

使用"mvn archetype:generate"命令创建一个javaWeb项目的时间非常长,要了40多秒,有时甚至会更久,不知道为啥。

2、使用mvn archetype:create命令,如下所示:

mvn archetype:create -DgroupId=com.mycompany.app -DartifactId=myWebApp -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false

最后

javascript是前端必要掌握的真正算得上是编程语言的语言,学会灵活运用javascript,将对以后学习工作有非常大的帮助。掌握它最重要的首先是学习好基础知识,而后通过不断的实战来提升我们的编程技巧和逻辑思维。这一块学习是持续的,直到我们真正掌握它并且能够灵活运用它。如果最开始学习一两遍之后,发现暂时没有提升的空间,我们可以暂时放一放。继续下面的学习,javascript贯穿我们前端工作中,在之后的学习实现里也会遇到和锻炼到。真正学习起来并不难理解,关键是灵活运用。


相关文章
|
2天前
|
Java 测试技术 Maven
Maven 构建生命周期
Maven的构建生命周期包括验证、编译、测试、打包、检查、安装和部署等阶段,确保项目正确、可分发并能被其他项目使用。它有三个标准生命周期:Clean(用于删除编译输出,如clean阶段)、Default(包括验证、编译、测试、打包等,从验证到部署)和Site(生成及部署项目文档)。
|
3天前
|
Java Maven
Idea下运行Maven项目时provide包没有依赖导致类找不到
Idea下运行Maven项目时provide包没有依赖导致类找不到
7 0
|
3天前
|
XML Java Maven
Maven 构建配置文件
Maven的构建配置文件(如pom.xml和settings.xml)用于定制构建过程,适应不同环境如生产、开发。配置文件可在项目级、用户级或全局定义,通过命令行、Maven设置、环境变量或文件存在与否激活。示例中,env.properties是默认配置,env.test.properties和env.prod.properties代表测试和生产环境。这些文件并非实际的构建配置文件,而是测试场景下的示例。
|
3天前
|
Java Maven
Maven 自动化构建
**Maven自动化构建确保依赖稳定性**。当`bus-core-api`构建完成后,依赖它的`app-web-ui`和`app-desktop-ui`项目自动构建。`app-web-ui`与`app-desktop-ui`都引用`bus-core-api`的1.0-SNAPSHOT版本,确保更新同步。
|
4天前
|
Java 测试技术 Maven
Maven 构建生命周期
Maven的构建生命周期包括验证、编译、测试、打包、检查、安装和部署等阶段,确保项目正确、可分发。标准生命周期有Clean(清除编译输出)、Default(验证、编译、测试、打包、验证质量、安装和部署)和Site(生成项目文档和站点)。Clean用于清理,Default处理构建过程,Site则关注生成和部署项目站点。
|
5天前
|
Java Maven
Maven 构建 Java 项目
使用Maven的`maven-archetype-quickstart`插件在C:\MVN下创建Java应用,命令:`mvn archetype:generate -DgroupId=com.companyname.bank -DartifactId=consumerBanking -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false`。
|
6天前
|
Java 测试技术 Maven
Maven 构建生命周期
Maven构建生命周期包括验证、编译、测试、打包、检查、安装和部署等阶段,用于项目构建与发布。它有三个标准生命周期:Clean(清除目标目录)、Default(验证、编译、测试、打包、验证质量、安装和部署)和Site(生成项目文档和站点)。这些阶段按顺序执行,确保项目从干净状态开始,经过编译测试,最终部署到远程仓库供共享。
|
14天前
|
Java Apache Maven
Maven 项目文档
在C:/MVN下,使用命令`mvn archetype:generate -DgroupId=com.companyname.bank -DartifactId=consumerBanking -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false`创建Maven Java项目。确保`pom.xml`包含`maven-site-plugin`和`maven-project-info-reports-plugin`配置,版本分别至少为3.3和2.7,以避免`NoClassDefFoundError`。
|
13天前
|
Java Maven
Maven 构建 Java 项目
使用 Maven 的 archetype:generate 命令创建 Java 项目,如 `mvn archetype:generate` -DgroupId=com.companyname.bank -DartifactId=consumerBanking -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false,在 C:\MVN 下生成基于 maven 的 consumerBanking 项目。
|
16天前
|
Java Maven
SpringBoot项目的用maven插件打包报Test错误
SpringBoot项目的用maven插件打包报Test错误