12 Matching Annotations
  1. Dec 2018
    1. Maven世界拥有大量构建,我们需要找一个用来唯一标识一个构建的统一规范
    1. 每一个骨架都会建相应的目录结构和一些通用文件,最常用的是maven-archetype-quickstart和maven-archetype-webapp骨架。maven-archetype-quickstart骨架是用来创建一个Java Project,而maven-archetype-webapp骨架则是用来创建一个JavaWeb Project。
    2. archetype是mvn内置的一个插件,create任务可以创建一个java项目骨架,DgroupId是软件包的名称,DartifactId是项目名,DarchetypeArtifactId是可用的mvn项目骨架
      • maven-archetype-archetype
      • maven-archetype-j2ee-simple
      • maven-archetype-mojo
      • maven-archetype-portlet
      • maven-archetype-profiles (currently under development)
      • maven-archetype-quickstart
      • maven-archetype-simple (currently under development)
      • maven-archetype-site
      • maven-archetype-site-simple
      • maven-archetype-webapp
    3. -DarchetypeArtifactId                  指定ArchetypeId,maven-archetype-quickstart,创建一个Java Project;maven-archetype-webapp,创建一个Web Project
    4. 使用mvn archetype:generate命令
      ### 构建java项目
      # mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=myapp -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
      
      ### 构建javaweb项目
      # mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-WebApp -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false
      
    5. 执行命令:java -cp target\myapp-1.0-SNAPSHOT.jar com.mycompany.app.App

      运行jjava程序,是通过java命令加上jar包来完成

      # java -cp xxxxx.jar xxxxx
      
    6. 在项目的根目录下都会存在一个pom.xml文件,进入myapp目录,可以看到有一个pom.xml文件,这个文件是Maven的核心
      1. pom意思就是project object model
      2. pom.xml包含了项目构建的信息,包括项目的信息,项目的依赖等
      3. pom.xml文件是可以继承的,大型项目中,子模块的pom.xml一般都会继承于父模块的pom.xml
    7. 使用"mvn archetype:generate"命令和"mvn archetype:create"都可以创建项目,目前没有发现这两者的区别,唯一区别的地方就是发现使用"mvn archetype:generate"命令创建项目时要特别长的时间才能够将项目创建好,而使用"mvn archetype:create"命令则可以很快将项目创建出来。
    1. 所以使用"mvn install"命令,就把maven构建项目的【清理】→【编译】→【测试】→【打包】的这几个过程都做了,同时将打包好的jar包发布到本地的Maven仓库中,所以maven最常用的命令还是"mvn install",这个命令能够做的事情最多。
    1. 由于Maven命令实际上是执行了Java命令,所以可以通过JAVA命令参数的方式来设置MAVEN运行参数。MAVEN_OPTS环境变量正是用于此用途   MAVEN_OPTS   -Xms128m -Xmx512m,分别设置JVM的最小和最大内存

      由于Maven命令实际上是执行了Java命令,所以可以通过JAVA命令参数的方式来设置MAVEN运行参数。MAVEN_OPTS环境变量正是用于此用途

      MAVEN_OPTS -Xms128m -Xmx512m,分别设置JVM的最小和最大内存

    1. 为了能够自动化的解析任何一个java构件,maven必须将他们唯一的标识,这就是依赖管理的底层基础,坐标————maven的坐标为java引入了秩序,任何一个构件都必须为自己定义一个坐标
  2. Jan 2015
    1. This document explains how to configure Cargo remote deployment support on a Jetty container.