zoukankan      html  css  js  c++  java
  • 从npm 角度理解 mvn 的 pom.xml

    从npm 角度理解 mvn 的 pom.xml

    pom -- project object model. 用于描述项目的配置:

    • 基础说明
    • 依赖
    • 如何构建运行

    类似 node.js 的 package.json
    mvn 与 npm 也是有雷同的地方。


    <dependencies>
    
        <!-- Unit Test -->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>${junit.version}</version>
        </dependency>
    
        <!-- Spring Core -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
            <version>${spring.version}</version>
            <exclusions>
                <exclusion>
                    <groupId>commons-logging</groupId>
                    <artifactId>commons-logging</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
    <dependencies>      
    

    dependencies in pom.xml 相当于 项目的依赖包,启动的时候会去找,如果没有就去下载。
    类似npm 的package.json dependency

    dependency 里面的主要信息groupId, 相当与组织机构的项目组ID,attifactId 项目的通用ID,version 当然是要的了。

    然而看起来,要记住的内容十分多,不如npm : 只需要知道package name, version 简单可以用latest。记住groupid 真的不容易。However,其实并不需要真的记住。有IDE 工具协助:
    安装elipse , maven plugin, 打开 pom.xml , 选择 dependencies, 选择 Add, 直接在search 处,输入你的package name, 会列出搜索结果,自动使用 latest version。当然也可以展开细节list指定某个特定的version。
    如果不用elipse, 也可:

    http://oqln5pzeb.bkt.clouddn.com/17-7-29/90028337.jpg
    http://oqln5pzeb.bkt.clouddn.com/17-7-29/90028337.jpg

    mvn package

    compile 正常后,如果你用的archeType 是web-app,你可以打包到tomcat 的webapp目录去运行;其他的类似 譬如打包出jar。
    

    tomcat deploy

    以一个archType 为web-app 的项目为例,mvn package 后, 除了上述的cp 到tomcat webapp 目录,
    另外一种手动页面的部署方法:
    localhost:8080 --> manage app
    按要求输入用户名密码后,
    http://oqln5pzeb.bkt.clouddn.com/17-7-29/84565023.jpg
    在输入 locahost:8080/hello
    则可以看到hello world 页面.

    如果遇到403,请参考这里。
    https://www.mkyong.com/tomcat/tomcat-default-administrator-password/

    trouble sovling when mvn search not working
    reindex maven project with Eclipse

    mvn tomcat:run 
    mvn jetty:run
    

    tomcat/jetty 是一些mvn plugin.
    jetty 参考配置
    所谓mvn plugin 可以理解成,这是使得可以集成与mvn 命令一起使用的插件。官方文档参考

    Also:
    mvn 可用编译,打包,安装,build项目

    • 编译:(nodejs 里面没有这个--因动态语言)

      mvn compile

    compile 会下载dependency依赖。

    • 打包:(nodejs 里面没有这个--因动态语言)

      4.0.0
      org.springframework
      gs-maven
      jar
      0.1.0

    运行mvn package 后,会产生 {$artifactId}-{$version}-jar,如上述的:gs-maven-0.1.0.jar (target 文件夹)

    • 安装 (类似: npm install)

      mvn install

    • build (类似npm script 里面的自定义脚本: npm start )
      根据plugin 输入参数构建,如上述的:

      mvn jetty:run

    注意: 使用jetty 来跑的时候,需要配置jetty 的plugin

      <build>
      <plugins>
      <plugin>
          <groupId>org.mortbay.jetty</groupId>
          <artifactId>maven-jetty-plugin</artifactId>
          <version>6.1.26</version>
      </plugin>
      </plugins>
    <finalName>hello</finalName>
    </build>
    

    常见的plugins
    http://www.cnblogs.com/pixy/p/4977550.html

    类似 npm clean , npm ,see npm --help

    speed it up

    mvn 经常很慢,等很久都没完成。参考以下
    mvn -T 4 install -- will use 4 threads

  • 相关阅读:
    369. Plus One Linked List
    147. Insertion Sort List
    817. Linked List Components
    61. Rotate List
    Object 类
    多态
    重写方法
    Protected 修饰符
    继承
    数组
  • 原文地址:https://www.cnblogs.com/no7dw/p/9508252.html
Copyright © 2011-2022 走看看