generate是什么意思

更新时间:2022-11-27 14:47:45 阅读: 评论:0


2022年11月27日发(作者:bullet train)

Maven学习总结——构建java项⽬和javaweb项⽬

转⾃:

⼀、构建Jave项⽬

1.1、创建JaveProject

1、使⽤mvnarchetype:generate命令,如下所⽰:

2、使⽤mvnarchetype:create命令(⼀些⾼版本的maven已经不⽀持create了,但是generate还是可以⽤的),如下所⽰:

使⽤”mvnarchetype:create”命令创建⼀个java项⽬的过程如下图所⽰:

BUILDSUCCESS就表⽰项⽬构建成功,当在前⽤户⽬录下(即C:DocumentsandSettingsAdministrator)下构建了⼀个Java

Project叫做myapp。

mvnarchetype:generate-DgroupId=-DartifactId=myapp-DarchetypeArtifactId=maven-archetype-quickstart-DinteractiveMode

mvnarchetype:create-DgroupId=-DartifactId=myapp-DarchetypeArtifactId=maven-archetype-quickstart-DinteractiveMode=

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

可以看到,Maven帮我们创建的项⽬是⼀个标准的Maven项⽬,不过⽬前Maven只是帮我们⽣成了src/main/java(存放项⽬的源代码)和

src/test/java(存放测试源代码)这两个⽬录,但实际项⽬开发中我们⼀般都会有配置⽂件,例如ties,所以我们还需要⼿动创

建src/main/resources(存放项⽬开发中⽤到的配置⽂件,如存放ties等)和src/test/resources(存放测试时⽤到的配置⽂

件),如下图所⽰:

然后我们就可以将创建好的myapp项⽬导⼊到Eclip中进⾏开发了,如下图所⽰:

1.2、JavaProject的⽂件说明

通过Maven构建的JavaProject,在项⽬的根⽬录下都会存在⼀个⽂件,进⼊myapp⽬录,可以看到有⼀个⽂件,

这个⽂件是Maven的核⼼。如下图所⽰:

1、pom意思就是projectobjectmodel。

2、包含了项⽬构建的信息,包括项⽬的信息、项⽬的依赖等。

3、⽂件是可以继承的,⼤型项⽬中,⼦模块的⼀般都会继承于⽗模块的

⽂件的内容如下:

⽂件的节点元素说明:

<project> pom⽂件的顶级节点

<modelVersion> objectmodel版本,对Maven2和Maven3来说,只能是4.0.0

<groupId> 项⽬创建组织的标识符,⼀般是域名的倒写

<artifactId> 定义了项⽬在所属组织的标识符下的唯⼀标识,⼀个组织下可以有多个项⽬

<version> 当前项⽬的版本,SNAPSHOT,表⽰是快照版本

<packaging> 打包的⽅式,有jar、war、ear等

<name> 项⽬的名称

<url> 项⽬的地址

<properties> 属性配置,⽐如:<Encoding>UTF-8</Encoding>

<dependencies> 构建项⽬依赖的jar

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

1.3、使⽤Maven编译-测试-打包-安装项⽬

1.3.1、编译

xsi:schemaLocation="/POM/4.0.0/xsd/">

4.0.0

myapp

1.0-SNAPSHOT

jar

myapp

UTF-8

junit

junit

3.8.1

test

编译源程序,进⼊命令⾏,切换到myapp⽬录,执⾏命令:mvncleancompile,如下图所⽰:

编译成功,在myapp⽬录下多出⼀个target⽬录,targetclass⾥⾯存放的就是编译后的class⽂件,如下图所⽰:

1.3.2、测试

进⼊命令⾏,切换到myapp⽬录,执⾏命令:mvncleantest,如下图所⽰:

测试成功,在myapptarget⽬录下会有⼀个test-class⽬录,存放的就是测试代码的class⽂件,如下图所⽰:

1.3.3、打包

进⼊命令⾏,切换到myapp⽬录,执⾏命令:mvncleanpackage,执⾏打包命令前,会先执⾏编译和测试命令,如下图所⽰:

构建成功后,会在target⽬录下⽣成包,如下图所⽰:

1.3.4、安装

进⼊命令⾏,切换到my-app⽬录,执⾏命令:mvncleaninstall,执⾏安装命令前,会先执⾏编译、测试、打包命令,如下图所⽰:

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

⼆、构建JavaWeb项⽬

1、使⽤mvnarchetype:generate命令,如下所⽰:

使⽤”mvnarchetype:generate”命令创建⼀个javaWeb项⽬的过程如下图所⽰:

mvnarchetype:generate-DgroupId=-DartifactId=my-WebApp-DarchetypeArtifactId=maven-archetype-webapp-DinteractiveMode

2、使⽤mvnarchetype:create命令,如下所⽰:

创建好的JavaWeb项⽬的⽬录结构如下:

创建好的JavaWeb项⽬中⽬前只有src/main/resources⽬录,因此还需要⼿动添加src/main/java、src/test/java、

src/test/resources

如下图所⽰:

接着我们就可以将创建好的JavaWeb导⼊Eclip中进⾏开发了,如下图所⽰:

mvnarchetype:create-DgroupId=-DartifactId=myWebApp-DarchetypeArtifactId=maven-archetype-webapp-DinteractiveMode

2.2、使⽤Maven打包发布Web项⽬

Maven帮我们创建的JavaWeb项⽬是⼀个空的项⽬,只有⼀个页⾯,我们使⽤Maven将Web项⽬打包发布运⾏。

在命令⾏切换到myWebApp⽬录,执⾏:mvnpackage,构建成功后,myWebApp⽬录⽬录下多了⼀个target⽬录,在这个⽬录下

会打包成myWebApp⽬录.war,把这个war包拷贝到Tomcat的发布⽬录下就可以运⾏了。如下图所⽰:

打包成功,在myWebApptarget⽬录下⽣成了⼀个⽂件,如下图所⽰:

将放到tomcat服务器中运⾏,如下图所⽰:

运⾏效果如下:

除了使⽤Tomcat服务器运⾏Web项⽬之外,我们还可以在Web项⽬中集成Jetty发布运⾏,⾸先在⽂件中配置Jetty插件,如下:

xsi:schemaLocation="/POM/4.0.0/maven-v4_0_">

4.0.0

myWebApp

war

1.0-SNAPSHOT

myWebAppMavenWebapp

junit

junit

3.8.1

test

myWebApp

maven-jetty-plugin

打开命令⾏窗⼝,切换到myWebApp⽬录,然后执⾏:mvnjetty:run启动Jetty服务器,如下图所⽰:

接着就可以在8080端⼝上访问应⽤了。如下图所⽰:

三、Maven创建项⽬的命令说明

mvnarchetype:create或者mvnarchetype:generate 固定写法

-DgroupId 组织标识(包名)

-DartifactId 项⽬名称

-DarchetypeArtifactId 指定ArchetypeId,maven-archetype-quickstart,创建⼀个Java

Project;maven-archetype-webapp,创建⼀个WebProject

-DinteractiveMode 是否使⽤交互模式

archetype是mvn内置的⼀个插件,create任务可以创建⼀个java项⽬⾻架,DgroupId是软件包的名称,DartifactId是项⽬

名,DarchetypeArtifactId是可⽤的mvn项⽬⾻架,⽬前可以使⽤的⾻架有:

maven-archetype-archetype

maven-archetype-j2ee-simple

maven-archetype-mojo

maven-archetype-portlet

maven-archetype-profiles(currentlyunderdevelopment)

maven-archetype-quickstart

maven-archetype-simple(currentlyunderdevelopment)

maven-archetype-site

maven-archetype-site-simple

maven-archetype-webapp

每⼀个⾻架都会建相应的⽬录结构和⼀些通⽤⽂件,最常⽤的是maven-archetype-quickstart和maven-archetype-webapp⾻架。

maven-archetype-quickstart⾻架是⽤来创建⼀个JavaProject,⽽maven-archetype-webapp⾻架则是⽤来创建⼀个JavaWeb

Project。

本文发布于:2022-11-27 14:47:45,感谢您对本站的认可!

本文链接:http://www.wtabcd.cn/fanwen/fan/90/31626.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

上一篇:nonmainstream
下一篇:beijing time
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图