用maven骨架新建项目以及解决速度慢的问题

用maven中的命令行方式可以新建一个maven项目。命令行如下:

mvn archetype:generate \
-DgroupId=edu.bit.auto \
-DartifactId=test \
-DarchetypeArtifactId=maven-archetype-quickstart \
-DinteractiveMode=false

当然,执行上面命令的时候需要将mvn加入到PATH中。
将命令行执行后,一直卡在如下界面中:

用maven骨架新建项目以及解决速度慢的问题_第1张图片

显示出来一直在Generating project in Batch mode

为了看清楚到底是发生了什么,加上-X选项看看log,最靠谱的还是log大法:
这里写图片描述

原来一直是在maven的中央仓库里找archetype-catalog.xml。天朝的GFW,你懂的。
那怎么绕过去这个坑呢?
解决方案也比较容易。先看自己的maven本地仓库里有没有archetype-catalog.xml。默认的位置为~/.m2/repository/org/apache/maven/archetype/archetype-catalog。可能下面还有一层版本信息的路径,然后cd进去,看看有没有archetype-catalog-2.4.pom 文件(我的版本是2.4)。如果没有,下载对应的archetype-catalog.xml让如相应的位置。然后在命令行后面加上一个选项-DarchetypeCatalog=local。最后执行相应的命令行即可。

命令执行完毕以后,用tree命令看看生成的内容:

用maven骨架新建项目以及解决速度慢的问题_第2张图片

可以看到,跟我们在IDE里生成的项目结构是一样的,都会自动生成一个App.java与AppTest.java的类!

再进去看看pom的内容:

<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.0modelVersion>
  <groupId>edu.bit.autogroupId>
  <artifactId>testartifactId>
  <packaging>jarpackaging>
  <version>1.0-SNAPSHOTversion>
  <name>testname>
  <url>http://maven.apache.orgurl>
  <dependencies>
    <dependency>
      <groupId>junitgroupId>
      <artifactId>junitartifactId>
      <version>3.8.1version>
      <scope>testscope>
    dependency>
  dependencies>
project>

这样一来,通过命令行的方式,自动生成maven项目,减少了pom.xml以及项目本身结构出错的可能!

你可能感兴趣的:(git)