Maven命令行界面

时间:2016-07-07 20:26:50

标签: maven command-line-interface

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

在控制台$ xptocli init上输入内容?

3 个答案:

答案 0 :(得分:0)

我实际上对你必须写的非常长的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
  5. 对于1. dir是您要放置它的目录,在2-4中,它将放在您当前所在的目录中。projname是您项目的名称,{ {1}}是您公司的名称,groupname是您公司的顶级域名。示例调用

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

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

来自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>