*****************事先先明,该文章来自与百度查找,以及自己作为一个萌新,所遇到的一系列小问题,如有冒犯,敬请原谅****************

首先:先解释一下何为Maven,以及写Java时的Maven项目的好处(个人认为):

Apache Maven是一个软件项目管理和综合工具。基于项目对象模型(POM)的概念,Maven可以从一个中心资料片管理项目构建,报告和文件。通俗来讲,Maven是一个管理器,可以在不同的IDEA下都能运行,以及编辑。

所以便有第一个好处了,如果自己单独开发一个后台管理系统,或者软件时,只要通过Myeclipse或者Eclipse EE 创建一个JavaWEB项目便行,而且部署上线相当方便,只要把webRoot拉到Tomcat的webapps目录下即可;但是当出去工作时,公司一般会安排组员在一起完成一个不大不小的项目,那么问题就来了,Myeclipse创建的web项目,需要组员有相同的工作环境才能运行,例如JDK,以及Jar包什么的,这样子就会带来不同程度的麻烦,毕竟每个人的电脑配置不同,所以这个时候,maven的存在就相当重要,maven 项目的jar,以及jdk的版本,运行环境都会pom.xml里面,而且可以通过各种IDEA打开,比如myeclipse,VS Code也是可以打开(而且它是轻量级的编辑器,运行速度会比myeclipse好点,可以去试试,会很容易上手的,主要也是有很多插件,所以不会太难操作)。

启动的配置的话,我的项目是这样的:

另外maven会自动服务器的jar包,所以有些框架加入jar时,需要把tomcat的jar删掉,以及webapp 一定要在 /src /main 下,和/src/main/java 是同一级目录。

******************

在补充一句:如何组员之间是通过GitHub存储交互项目时,只要上传src 下的所有文件 以及pom.xml 文件就可以了,提醒一句:push项目时,先put一下,在commit,在push之前一定要put和commit一下,还有本机谨慎删除,删除便是真正的删除,虽然可以通过log找回以前的版本,但是还是谨慎删除。

*******************

接下来,便说如何通过CND 来创建maven项目:

先简单粗暴的写出指令 :

mvn -B archetype:generate \ -DarchetypeGroupId=org.apache.maven.archetypes \ -DgroupId=com.mycompany.app \ -DartifactId=my-app

这条指令是需要有下载maven的情况下才能使用的,至于如何下载安装配置环境变量,需要自己百度查找,我在这里就不写出来了。以及需要修改一些配置,需要添加 阿里的代理仓库,毕竟maven是国外,有时编译时会影响速度,搜索关键字 :window下maven的安装以及配置,maven的阿里代理仓库。

以下为指令的注解:

看到这个便代表项目新建成功

********************************华丽丽的分割线********************************************************************************

接下来便讲下如何部署maven到tomcat的目录下:

1.Tomcat7/Tomcat 8的用户及权限配置:在conf目录下,找到tomcat-users.xml,添加manager权限的用户。

<role rolename="admin-gui"/>
<role rolename="admin-script"/>
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>

<user username="admin" password="admin" roles="manager-gui,manager-script,manager-jmx,manager-status,admin-script,admin-gui"/>

2.Maven的Server的配置:在Maven的安装路径找到conf目录下的setting.xml文件,在<servers>节点中添加tomcat7下配置的用户信息(id可以任意填写,但username和password必须和步骤1一致):

<server>
    <id>tomcat7</id>
    <username>admin</username>
    <password>admin</password>

</server>

3.在Maven项目的pom.xml文件的<plugins>节点中,添加tomcat7的maven插件
<plugin>
    <groupId>org.apache.tomcat.maven</groupId>
    <artifactId>tomcat7-maven-plugin</artifactId>
    <version>2.1</version>

<configuration>

<!-- 修改了tomcat环境变量一定要重启tomcat,还有一定要保证能进入tomcat的/manager,部署时一定要打开tomcat-->

<!-- 注意tomcat7此处的url,前面加ip地址,后面一定要带上/manager/text,这是tomcat的管理目录 -->
        <url>http://localhost:8080/manager/text</url>
        <server>tomcat7</server> <!-- 此处的名字必须和setting.xml中配置的ID一致-->
        <path>/Demo</path> <!-- 此处的名字是项目发布的工程名-->
    </configuration>

</plugin>

***************************************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.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.gdhrui.exp</groupId>
<artifactId>extweb</artifactId>
<packaging>war</packaging>
<version>1.0-SNAPSHOT</version>
<name>extweb</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-web-api</artifactId>
<version>6.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>org.webjars</groupId>
<artifactId>bootstrap</artifactId>
<version>3.3.6</version>
</dependency>
<dependency>
<groupId>org.webjars</groupId>
<artifactId>jquery</artifactId>
<version>1.9.1</version>
</dependency>
</dependencies>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.2</version>
<configuration>
<verbose>true</verbose>
<source>1.7</source>
<target>1.7</target>
<port>8083</port>
<showWarnings>true</showWarnings>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<path>/expweb</path>
<contextReloadable>true</contextReloadable>
<url>http://localhost:8080/manager/text</url>
<server>tomcat7</server>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>

</project>

*******************************************************

4.webapp目录需要放置在src/main里面

5.最后,只需要mvn tomcat7:deploy就可以了(必须事先启动tomcat服务器)
初次部署用的是tomcat7:deploy命令,重新部署可以用tomcat7:redeploy命令(推荐统一用这个),Tomcat Maven插件支持的命令包括:run、shutdown、run-war-only、exec-war、standalone-war-only、deploy、standalone-war、undeploy、run-war、redeploy等。

6.到Tomcat目录webapp下可以看到war包和工程名字,说明以部署上。

************************注意**********************

 通过指令生成的项目会默认打包成jar包,但是jar是不能被打包到tomcat下面的,所以打包部署时,是需要把jar改为war的。

***************打包成功后,就可以开开心心的通过tomcat来查看项目了**************

*********大概就这些了,后面需要补充或者修改时,会改过来的

如何通过CND指令创建一个新的Maven 项目,已经如何部署到tomcat 的webapps目录下相关推荐

  1. 在idae中为什么用Module创建一个新的Maven项目的时候会被卡死

    一:问题描述 然后就会卡死, 二:问题解决 我们会发现这里的路径是有问题的,idea自带的maven会卡死我们,因为下载jar包的速度慢的惊人 将其改为我们自己maven路径,下载速度会很快,便不会出 ...

  2. IDEA中添加tomcat服务器和创建一个新的web项目

    1.tomcat服务器的配置 第一步: 第二步:找到Templates 第三步: 第四步: 第五步: 第六步: 这样就完成了 2.创建一个新的web项目 第一步: 第二步: 第三步 第四步:

  3. 如何创建一个新的Node项目

    首先 现在正在做一个关于 vue-element-admin + node.js 的中后天开发的小项目.那么今天记录一下怎么创建一个新的node工程呢? 第一 找到要创建工程的文件夹位置,cmd(以管 ...

  4. linux系统指令学习(创建目录,在目录下创建一个*.txt,*.txt输入内容,把*.txt文件拷贝到*目录下,把*文件夹目录移动到*目录下)

    linux系统指令学习1 透过12道题熟练掌握20个指令 Linux有150个常用指令,透过12道题去学习以及练习指令 1.创建一个目录/dzqc 提示: windows下的路径样式为c: \dzqc ...

  5. python如何做一个数据库_Python创建一个新的Django项目(连接到MySQL数据库),python,新建,mysql...

    部门信息: 编号 名称 地址 {% for dept in deptList %} {{ dept.no }} {{ dept.name }} {{ dept.addr }} {% endfor %}

  6. SSM之一(使用idea创建一个Spring+SpringMVC的项目)

    文章目录 1. 使用idea创建一个基本的maven项目(Web版本) 2. 完善目录结构 3. 相关依赖 4. 配置spring与springmvc 1. 使用idea创建一个基本的maven项目( ...

  7. docker commit (从容器创建一个新的镜像)

    从容器创建一个新的镜像 docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]] -a :提交的镜像作者:-c :使用Dockerfile指令来创建镜像 ...

  8. 6. Linux内核创建一个新进程的过程分析

    ##################################### 作者:张卓 原创作品转载请注明出处:<Linux操作系统分析>MOOC课程 http://www.xuetang ...

  9. 01_创建一个新的activityactivity配置清单文件

    今天开始学四大组件.今天是学Activity,然后是广播接收者,然后是服务,然后是内容提供者.四大组件,咱们一天一个.Activity就是跟用户交互的界面,大部分的应用都不会只有这么一个界面.创建多个 ...

最新文章

  1. 使用Keras进行迁移学习
  2. Eclipse 最常用的 10 组快捷键,个个牛逼!
  3. 构建自主操作系统,阿里为何失败了?
  4. mysql 事物封装_mysqls 一个node对mysql的封装库 链式调用、支持事务
  5. svg标签的CSS3动画特效 - 经典特效2
  6. 启动/关闭数据库、实例及服务
  7. linux指定的文件不是虚拟磁盘,linux下挂载VHD等虚拟磁盘文件的方法
  8. C# ObjectCache、OutputCache缓存
  9. 玩通了这4本书,也就掌握了SEO的精髓了
  10. vue按钮字体大小设置_vue添加文字怎么设置时长
  11. 【架构】分布式系统及相关技术栈初了解
  12. 超大数据10进制转2进制详解(可推广到其他进制)/ Codeup 100000579 问题 C: 进制转换
  13. 管理经济学 知识点总结 (二)
  14. 电脑被绑架开机自动装流氓软件
  15. 计算机培训报名表 自我介绍,单招报名表自我介绍
  16. BZOJ2331: [SCOI2011]地板
  17. winpcap php,利用WinpCap 编写抓包程序
  18. csv格式(csv格式怎么编辑)
  19. SD2C:CSDN产品总监范凯——用Rails构建高性能Web应用
  20. 教授专栏48 | 熊辉: 浅谈ChatGPT

热门文章

  1. 分子模拟||常见计算任务流程梳理:平衡态计算、非平衡态计算及复杂流程模拟
  2. 在SVN服务器彻底删除文件
  3. 《PyTorch机器学习从入门到实战》 例程(PyTorch1.2版本可用)
  4. buck型三相PFC
  5. 越狱Season 1-Episode 9: Tweener
  6. 你还在怕忘记网盘密码?商鼎云助记词登录保障你的安全
  7. Unity打包后窗口在PC端不按照设置的大小显示
  8. javasript的单线程和多线程
  9. 质量管理:PDCA循环到PACD循环
  10. ABclonal再添一员“蛋白~DNA互作研究”大将—CUTTag