【问题标题】:Maven command line interface [duplicate]Maven命令行界面[重复]
【发布时间】:2016-11-10 07:32:28
【问题描述】:

maven 命令行界面是否有任何选项/插件可以让我们创建一个新项目?我的意思是像 npm 这样用户友好的东西。

类似于在控制台上打字 $ xptocli init

【问题讨论】:

    标签: maven command-line-interface


    【解决方案1】:

    实际上,我对您必须编写的非常长的 maven 命令感到非常沮丧,因此我为此编写了一个 bash 脚本。我称它为mvnproj 并将其保存在usr/local/bin 中。这是代码

    if [ $# -eq 4 ]; then
      cd $1
      mvn archetype:generate -DgroupId=$4.$3.$2 -DartifactId=$2 -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false;
    elif [ $# -eq 3 ]; then
      mvn archetype:generate -DgroupId=$3.$2.$1 -DartifactId=$1 -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false;
    elif [ $# -eq 2 ]; then
      mvn archetype:generate -DgroupId=$2.$1 -DartifactId=$1 -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false;
    else
      mvn archetype:generate -DgroupId=$1 -DartifactId=$1 -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false;
    fi
    

    你可以用 4 种不同的方式调用它

    1. mvnproj dir projname groupname tld
    2. mvnproj projname groupname tld
    3. mvnproj projname groupname
    4. mvnproj projname

    对于1.dir是你要放置的目录,在2-4中会放在你当前所在的目录。projname是你的项目名,groupname是你的公司名称,tld 是贵公司的顶级域。示例调用

    1. mvnproj /tmp example stackoverflow com
    2. mvnproj example stackoverflow com
    3. mvnproj example stackoverflow
    4. mvnproj example

    【讨论】:

    • 哇,这绝对不是用户友好的!但干得好!
    • 我添加了如何使用它的描述。它实际上让生活变得更轻松。
    【解决方案2】:

    您可以使用 Maven 的 Archetype 插件来创建一个新项目:

    $ mvn archetype:generate -B \
      -DgroupId=org.mygroup \
      -DartifactId=myartifact \
      -DarchetypeArtifactId=maven-archetype-quickstart
    

    【讨论】:

      【解决方案3】:

      来自official maven documentation

      为了创建最简单的 Maven 项目,从命令行执行以下命令:

      注意: Archetype 插件 (mvn archetype:generate) 允许用户创建一个 Maven 项目,该插件默认包含在 maven 中。

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

      执行此命令后,您会注意到在 C:\Users\yourname\my-app 下创建了一个名为 my-app 的 目录(在windows 7) 并且该目录包含一个名为 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/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
        <groupId>com.mycompany.app</groupId>
        <artifactId>my-app</artifactId>
        <packaging>jar</packaging>
        <version>1.0-SNAPSHOT</version>
        <name>Maven Quick Start Archetype</name>
        <url>http://maven.apache.org</url>
        <dependencies>
          <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.11</version>
            <scope>test</scope>
          </dependency>
        </dependencies>
      </project>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-06-26
        • 1970-01-01
        • 1970-01-01
        • 2013-05-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多