maven学习笔记之IDEA+Maven+Jetty运行一个简单的web项目

maven学习笔记

一、什么是maven

Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。当你使用Maven的时候,你用一个明确定义的项目对象模型来描述你的项目,然后Maven可以应用横切的逻辑,这些逻辑来自一组共享的(或者自定义的)插件。简而言之,Maven是一个跨平台的项目管理工具。主要服务于基于Java平台的项目构建、依赖管理和项目信息管理。

二、下载和安装Maven

访问Maven的下载页面:http://maven.apache.org/download.html,其中包含针对不同

平台的各种版本的Maven下载文件。对于首次接触Maven的读者来说,推荐使用Maven

3.0,因此下载apache-maven-3.0-bin.zip。

将安装文件解压到你指定的目录;

下一步就是设置环境变量,将 Maven安装配置到操作系统环境中。

打开系统属性面板(桌面上右键单击“我的电脑”→“属性”),点击高级系统设置,再点击环境变量,在系统变量中新建一个变量,变量名为 M2_HOME,变量值为 Maven 的安装目录 (例如:D:\bin\apache-maven-3.0)。点击确定,接着在系统变量中找到一个名为 Path 的变量,在变量值的末尾加上%M2_HOME%\bin;,注意多个值之间需要有分号隔开,然后点击确定。至此,环境变量设置完成。

这里需要提一下的是 Path 环境变量,当我们在 cmd 中输入命令时,Windows 首先会在当前目录中寻找可执行文件或脚本,如果没有找到,Windows 会接着遍历环境变量 Path 中定义的路径。由于我们将%M2_HOME%\bin 添加到了 Path 中,而这里%M2_HOME%实际上是引用了我们前面定义的另一个变量,其值是 Maven 的安装目录。因此,Windows 会在执行命令时搜索目录D:\bin\apache-maven-3.0\bin,而 mvn 执行脚本的位置就是这里。

打开黑窗口,检查我们是否安装mvn成功。

这就代表Maven安装成功.

第一条命令echo %M2_HOME%用来检查环境变量是否指向了正确的Maven安装目录;而mvn -v执行了第一条 Maven命令,以检查Windows 是否可以找到正确的mvn执行脚本。

q Bin:该目录包含了 mvn 运行的脚本,这些脚本用来配置 Java 命令,准备好classpath 和相关的 Java 系统属性,然后执行 Java 命令。其中 mvn 是基于 UNIX 平台的 shell 脚本,mvn.bat是基于 Windows 平台的 bat 脚本。在命令行输入任何一条 mvn 命令时,实际上就是在调用这些脚本。该目录还包含了 mvnDebug 和mvnDebug.bat 两个文件,同样,前者是 UNIX 平台的 shell 脚本,后者是 windows的 bat 脚本。那么 mvn 和 mvnDebug 有什么区别和关系呢?打开文件我们就可以看到,两者基本是一样的,只是 mvnDebug 多了一条 MAVEN_DEBUG_OPTS 配置,作用就是在运行 Maven 时开启 debug,以便调试 Maven 本身。此外,该目录还包含 m2.conf 文件,这是classworlds 的配置文件。

q Boot: 该目录只包含一个文件,以maven 3.0 为例,该文件为plexus-classworlds-2.2.3.jar。plexus-classworlds是一个类加载器框架,相对于默认的java类加载器,它提供了更丰富的语法以方便配置,Maven使用该框架加载自己的类库。更多关于classworlds的信息请参考 http://classworlds.codehaus.org/。对于一般的Maven用户来说,不必关心该文件。

q Conf: 该目录包含了一个非常重要的文件 settings.xml。直接修改该文件,就能在机器上全局地定制 Maven 的行为。一般情况下,我们更偏向于复制该文件至~/.m2/目录下(这里~表示用户目录),然后修改该文件,在用户范围定制 Maven的行为。本书的后面将会多次提到该 settings.xml,并逐步分析其中的各个元素。

q  Lib: 该目录包含了所有 Maven 运行时需要的 Java 类库,Maven 本身是分模块开发的,因此用户能看到诸如 mavn-core-3.0.jar、maven-model-3.0.jar 之类的文件,此外这里还包含一些 Maven 用到的第三方依赖如 common-cli-1.2.jar、google-collection-1.0.jar 等等。(对于 Maven 2 来说,该目录只包含一个如 maven-2.2.1-uber.jar 的文件原本各为独立 JAR 文件的 Maven 模块和第三方类库都被拆解后重新合并到了这个 JAR 文件中)。可以说,这个 lib 目录就是真正的 Maven。关于该文件,还有一点值得一提的是,用户可以在这个目录中找到 Maven 内置的超级POM。其他: LICENSE.txt 记录了 Maven 使用的软件许可证 Apache License Version 2.0; NOTICE.txt 记录了 Maven 包含的第三方软件;而 README.txt 则包含了 Maven 的简要介绍,包括安装需求及如何安装的简要指令等等。

关于~/.m2:

默认情况下,~/.m2 目录下除了 repository 仓库之外就没有其他目录和文件了,不过大多数 Maven 用户需要复制 M2_HOME/conf/settings.xml 文件到~/.m2/settings.xml。这是一条最佳实践。

默认情况下,该文件夹下放置了Maven本地仓库.m2/repository。所有的Maven的构件都被存储到该仓库中,以方便重用。

四、在IDEA上编写一个简单的maven项目

新建一个工程,选择Maven,project 选择本地的jdk,下面Create from archetype,一定要勾选,然后选择下面(本截图最后一行)的-webapp。

点next,然后对GroupId和ArtifactId,分别写上自己的项目组名和项目名。groupId 定义了项目属于哪个组,这个组往往和项目所在的组织或公司存在关联,譬如你在 googlecode 上 建 立 了 一 个 名 为 myapp 的 项 目 , 那 么 groupId 就 应 该 是com.googlecode.myapp,如果你的公司是 mycom,有一个项目为 myapp,那么 groupId 就应该是 com.mycom.myapp。本书中所有的代码都基于 groupId com.juvenxu.mvnbook。artifactId 定义了当前 Maven 项目在组中唯一的 ID,我们为这个 Hello World 项目定义artifactId 为 hello-world,本书其他章节代码会被分配其他的 artifactId。而在前面的groupId 为 com.googlecode.myapp 的例子中,你可能会为不同的子项目(模块)分配artifactId,如:myapp-util、myapp-domain、myapp-web 等等。

Maven的setting文件和本地仓库地址reporitory。为了让项目在创建的时候可以快速构建,需要在Properties增加参数:archetypeCatalog=internal,这个参数的意思是插件使用内部的archetype元数据,如果不加该参数,则默认从remote中央仓库下载,这样会导致构建很慢,而且有可能构建失败,这样就只有一个pom.xml文件,其余的目录结构都不会生成了。

            

点Finish,出现以下的界面就代表完成Maven项目的创建成功。

对于最重要的pom.xml文件中

最重要的是 groupId,artifactId 和 version 三行,前面两个刚刚在上面已经介绍过了, version也很容易懂得,指的当前的版本——1.0-SNAPSHOT。SNAPSHOT 意为快照,说明该项目还处于开发中,是不稳定的版本。随着项目的发展,version 会不断更新,如升级为 1.0、1.1-SNAPSHOT、1.1、2.0 等等。

最后一个 name 元素声明了一个对于用户更为友好的项目名称,虽然这不是必须的,但还是推荐为每个 POM 声明 name,以方便信息交流。

五、Jetty插件的安装与使用

根据groupId和artifactId还有version,就可以下载自己所需要的插件。因为Maven内置了一个中央仓库的地址(http://repo1.maven.org/maven2),该中央仓库包含了世界上大部分流行的开源项目构

件,Maven会在需要的时候去那里下载。

然后,在右侧可以看到有Maven Project,点开里面的Plugins,里面有jetty,点开里面的jetty:run,同时也可以create 一个test,.这样以后就不用每次都点开去运行jetty了,而是可以直接点test来运行。

               

                

出现以下信息,就代表我们jetty运行成功了,就可以去运行我们的web项目了。

六、运行WEB项目

mvn jetty:run默认启动的是8080端口,tomcat通常占用这个端口,可以手动修改jetty插件的启动端口,命令如下:

                                                    mvn jetty:run -Djetty.port=9999 

另一种方法是修改pom文件,jetty插件部分代码如下:



<plugin> 
                <groupId>org.mortbay.jetty</groupId> 
                <artifactId>maven-jetty-plugin</artifactId> 
                <version>6.1.6</version> 
                <configuration> 
                    <connectors> 
                       <connector implementation="org.mortbay.jetty.nio.SelectChannelConnector"> 
                            <port>9999</port> 
                            <maxIdleTime>60000</maxIdleTime> 
                        </connector> 
                    </connectors> 
                </configuration> 
 </plugin>
 

如果不用Tomcat 或者很少用就不用担心端口占用问题了,可以直接在地址栏,输入http://localhost:8080/index.jsp或者http://localhost:8080

这个地方和Tomcat不一样,不用在前面输入工程名,因为默认的路径直接到根目录下。所以直接输入就可访问默认页面,index.jsp页面。

至此,我们一个简单的Web项目,从下载Maven到安装Jetty插件,到得出jsp页面就算完成了!

  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: 在IntelliJ IDEA中快速新建Maven Spring Boot Web项目的步骤如下: 1. 打开IntelliJ IDEA,点击主菜单中的“File(文件)”选项,选择“New(新建)”,然后选择“Project(项目)”。 2. 在左侧的菜单栏中,选择“MavenMaven项目)”并点击“Next(下一步)”。 3. 在“GroupId”和“ArtifactId”字段中,输入您想要的项目名和包名,并选择合适的“Version”。 4. 在下方的“Project settings”中,选择您想要的项目位置,并勾选“Create from archetype(从原型创建)”复选框。 5. 在“Archetype”字段中,输入“spring-boot-web”,然后点击“Next”。 6. 在“New Project”窗口中,您可以设置项目的名称和位置,并设置其他项目设置,如项目类型、构建工具等。 7. 点击“Finish(完成)”,IntelliJ IDEA会为您创建一个默认的Maven Spring Boot Web项目。 8. 接下来,您可以开始编写代码和配置项目。可以在src/main/java目录下找到“Application.java”文件,它是Spring Boot应用程序的入口点。 9. 您还可以在“src/main/resources”目录下找到“application.properties”文件,您可以在其中配置您的应用程序的属性。 10. 当您完成项目的编写和配置后,可以使用IntelliJ IDEA的“Build”菜单,选择“Build Project(构建项目)”来构建项目并生成可执行的jar文件。 以上是在IntelliJ IDEA中快速新建Maven Spring Boot Web项目的简要步骤。您可以根据自己的实际需求和项目要求进行进一步的设置和配置。 ### 回答2: 要在IntelliJ IDEA中快速新建一个Maven Spring Boot Web项目,按照以下步骤进行操作: 1. 打开IntelliJ IDEA并选择“Create New Project”(创建新项目)。 2. 在左侧面板中选择“Spring Initializer”(Spring初始装置)选项,然后点击右侧面板中的“Next”(下一步)按钮。 3. 在“Project SDK”(项目SDK)下拉菜单中选择所需的Java版本,并点击“Next”(下一步)按钮。 4. 在“Project Metadata”(项目元数据)页面中,输入项目的相关信息,如项目名称、项目的GroupId和ArtifactId等。 5. 在“Spring Boot”选项卡中,选择所需的Spring Boot版本,并勾选“Web”(Web应用程序)选项。 6. 在“Project Settings”(项目设置)页面中,选择项目的存储位置,并点击“Finish”(完成)按钮。 7. 创建项目后,IntelliJ IDEA会自动下载所需的依赖项,并生成一个基本的Maven Spring Boot Web项目结构。 8. 如果需要运行该项目,可以通过点击工具栏上的绿色箭头按钮来启动应用程序。 通过以上步骤,您可以在IntelliJ IDEA中快速创建一个Maven Spring Boot Web项目,并进行开发和调试。 ### 回答3: 要在IntelliJ IDEA中快速新建一个Maven Spring Boot Web项目,可以按照以下步骤操作: 1. 打开IntelliJ IDEA,选择“新建项目”。 2. 在弹出的对话框中,选择“Maven”,然后点击“下一步”。 3. 在“GroupId”和“ArtifactId”字段中,分别输入您想要的项目组和项目名称,然后点击“下一步”。 4. 在“Java”页面上,选择您想要使用的Java版本,然后点击“下一步”。 5. 在“项目设置”页面上,选择您想要的项目文件夹位置,并设置其他项目相关配置,然后点击“下一步”。 6. 在“进一步设置”页面上,选择“Spring Initializr”作为项目的初始程序,然后点击“下一步”。 7. 在“Spring Initializr 服务 URL”字段中,输入Spring Initializr的URL,可以是https://start.spring.io或其他可用的URL,然后点击“下一步”。 8. 在“Spring Boot”页面上,选择您需要的Spring Boot版本,然后点击“下一步”。 9. 在“选择依赖”页面上,选择您需要的依赖,比如“Spring Web”,然后点击“下一步”。 10. 在“确认项目细节”页面上,确认您的项目细节,然后点击“完成”。 这样,IntelliJ IDEA就会自动为您创建一个Maven Spring Boot Web项目,并会下载所需的依赖项。您可以在项目结构中查看创建的项目,并开始编写您的代码。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值