maven3常用命令 4 java项目搭建、web项目搭建详细图解

2024-03-16 10:58

本文主要是介绍maven3常用命令 4 java项目搭建、web项目搭建详细图解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

------------------------------maven3常用命令---------------------------

1、常用命令

    1)创建一个Project

 

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

 

  mvn archetype:generate  固定格式

  -DgroupId         组织标识(包名)

  -DartifactId        项目名称

  -DarchetypeArtifactId    指定ArchetypeId,maven-archetype-quickstart,创建一个JavaProject;maven-archetype-webapp,创建一个Web Project

  -DinteractiveMode      是否使用交互模式

    2)编译源代码

mvn compile

    3)编译测试代码

mvn test-compile

    4)清空

mvn clean

    5)运行测试

mvn test

    6)生产站点目录并打包

mvn site-deploy

    7)安装当前工程的输出文件到本地仓库

mvn install

    8)打包

mvn package

    9)先清除再打包

mvn cleanpackage

    10)打成jar包

mvn jar:jar

    11)生成eclipse项目  

mvneclipse:eclipse

    12)查看帮助信息

mvn help:help

   13)查看maven有哪些项目类型分类

mvnarchetype:generate -DarchetypeCatalog=intrenal

 

 

  2、标准的Maven项目结构                                         

                    

    src/main/java  存放项目的源代码

    src/test/java  存放测试源代码

    如果要存放一些配置文件,可以再建立一个目录src/main/resource存放,如存放log4j.properties等

 

 

------------------------------java项目搭建---------------------------

使用Maven构建一个简单的Java项目

  1、进入命令行,执行下面的语句。

mvnarchetype:generate -DgroupId=cn.luxh.app -DartifactId=my-app-DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

  执行完成后,可以看到如下结果:

  BUILD SUCCESS,当在前用户目录下(即C:\Documentsand Settings\Administrator)下构建了一个Java Project叫做my-app。

  2、进入my-app目录,可以看到有一个pom.xml文件,这个文件是Maven的核心。

    1)pom意思就是project object model。

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

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

    4)刚构建的pom.xml说明

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0http://maven.apache.org/maven-v4_0_0.xsd">

  <modelVersion>4.0.0</modelVersion>

  <groupId>cn.luxh.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>

     节点元素说明:    

       <project>      pom文件的顶级节点

 

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

 

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

 

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

 

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

 

    <version>       当前项目的版本,SNAPSHOT,表示是快照版本,在开发中

 

    <name>        项目的名称

 

    <url>        项目的地址

 

    <dependencies>   构建项目依赖的jar

 

    <description>    项目的描述

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

  3、构建的my-app项目结构如下

                    

    1)编译源程序,进入命令行,切换到my-app目录,执行命令:mvnclean compile

 

 

    编译成功,在my-app目录下多出一个target目录,target\classes里面存放的就是编译后的class文件。

    2)测试,进入命令行,切换到my-app目录,执行命令:mvc clean test

 

 

    测试成功,在my-app\target目录下会有一个test-classes目录,存放的就是测试代码的class文件。

    3)打包,进入命令行,切换到my-app目录,执行命令:mvc clean package,执行打包命令前,会先执行编译和测试命令

 

    构建成功后,会再target目录下生成my-app-1.0-SNAPSHOT.jar包。

    4)安装,进入命令行,切换到my-app目录,执行命令:mvc clean install ,执行安装命令前,会先执行编译、测试、打包命令

 

 

   构建成功,就会将项目的jar包安装到本地仓库。

    5)运行jar包,进入命令行,切换到my-app目录,执行命令:java -cp target\my-app-1.0-SNAPSHOT.jarcn.luxh.app.App

 

 

 

------------------------------web项目搭建---------------------------

1、进入命令行,执行:

mvnarchetype:generate -DgroupId=cn.luxh.app -DartifactId=my-web-app -DarchetypeArtifactId=maven-archetype-webapp-DinteractivMode=false

  出现一些版本号确认等直接回车就行,构建成功出现下面的提示。

  在当前用户目录下,生成的web项目目录结构如下:

                        

  2、当然这个空的项目,只有一个index.jsp页面,打包发布运行。

    1)在命令行切换到my-web-app目录,执行:mvn package,构建成功后,my-web-app目录下多了一个target目录,在这个目录下会打包成my-web-app.war,把这个war包拷贝到Tomcat的发布目录下就可以运行了。 

    2)集成Jetty发布运行,需要配置pom.xml。

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0http://maven.apache.org/maven-v4_0_0.xsd">

  <modelVersion>4.0.0</modelVersion>

  <groupId>cn.luxh.app</groupId>

  <artifactId>my-web-app</artifactId>

  <packaging>war</packaging><!--web项目默认打包方式 war-->

  <version>1.0-SNAPSHOT</version>

  <name>my-web-appMaven 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>my-web-app</finalName>

   

    <pluginManagement>

    <!--配置Jetty-->

      <plugins>

        <plugin>

         <groupId>org.mortbay.jetty</groupId>  

         <artifactId>maven-jetty-plugin</artifactId>

        </plugin>

      </plugins>

</pluginManagement>

 

   

  </build>

 

</project>

    然后执行:mvn jetty:run 就可以在8080端口上访问应用了。

 


这篇关于maven3常用命令 4 java项目搭建、web项目搭建详细图解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/815261

相关文章

JVM 的类初始化机制

前言 当你在 Java 程序中new对象时,有没有考虑过 JVM 是如何把静态的字节码(byte code)转化为运行时对象的呢,这个问题看似简单,但清楚的同学相信也不会太多,这篇文章首先介绍 JVM 类初始化的机制,然后给出几个易出错的实例来分析,帮助大家更好理解这个知识点。 JVM 将字节码转化为运行时对象分为三个阶段,分别是:loading 、Linking、initialization

Spring Security 基于表达式的权限控制

前言 spring security 3.0已经可以使用spring el表达式来控制授权,允许在表达式中使用复杂的布尔逻辑来控制访问的权限。 常见的表达式 Spring Security可用表达式对象的基类是SecurityExpressionRoot。 表达式描述hasRole([role])用户拥有制定的角色时返回true (Spring security默认会带有ROLE_前缀),去

浅析Spring Security认证过程

类图 为了方便理解Spring Security认证流程,特意画了如下的类图,包含相关的核心认证类 概述 核心验证器 AuthenticationManager 该对象提供了认证方法的入口,接收一个Authentiaton对象作为参数; public interface AuthenticationManager {Authentication authenticate(Authenti

Spring Security--Architecture Overview

1 核心组件 这一节主要介绍一些在Spring Security中常见且核心的Java类,它们之间的依赖,构建起了整个框架。想要理解整个架构,最起码得对这些类眼熟。 1.1 SecurityContextHolder SecurityContextHolder用于存储安全上下文(security context)的信息。当前操作的用户是谁,该用户是否已经被认证,他拥有哪些角色权限…这些都被保

Spring Security基于数据库验证流程详解

Spring Security 校验流程图 相关解释说明(认真看哦) AbstractAuthenticationProcessingFilter 抽象类 /*** 调用 #requiresAuthentication(HttpServletRequest, HttpServletResponse) 决定是否需要进行验证操作。* 如果需要验证,则会调用 #attemptAuthentica

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

Java架构师知识体认识

源码分析 常用设计模式 Proxy代理模式Factory工厂模式Singleton单例模式Delegate委派模式Strategy策略模式Prototype原型模式Template模板模式 Spring5 beans 接口实例化代理Bean操作 Context Ioc容器设计原理及高级特性Aop设计原理Factorybean与Beanfactory Transaction 声明式事物

这15个Vue指令,让你的项目开发爽到爆

1. V-Hotkey 仓库地址: github.com/Dafrok/v-ho… Demo: 戳这里 https://dafrok.github.io/v-hotkey 安装: npm install --save v-hotkey 这个指令可以给组件绑定一个或多个快捷键。你想要通过按下 Escape 键后隐藏某个组件,按住 Control 和回车键再显示它吗?小菜一碟: <template

Java进阶13讲__第12讲_1/2

多线程、线程池 1.  线程概念 1.1  什么是线程 1.2  线程的好处 2.   创建线程的三种方式 注意事项 2.1  继承Thread类 2.1.1 认识  2.1.2  编码实现  package cn.hdc.oop10.Thread;import org.slf4j.Logger;import org.slf4j.LoggerFactory

如何用Docker运行Django项目

本章教程,介绍如何用Docker创建一个Django,并运行能够访问。 一、拉取镜像 这里我们使用python3.11版本的docker镜像 docker pull python:3.11 二、运行容器 这里我们将容器内部的8080端口,映射到宿主机的80端口上。 docker run -itd --name python311 -p