在项目过程当中,咱们一般创建一套目录结构后,须要一种方式使另外的项目也遵循这个规则,针对这种状况,maven提出了archetype的概念。因为官方或者第三方的骨架都不知足咱们的要求,咱们但愿获得的目录结构以下图java
咱们创建的目录结构:web
src/main/javawindows
src/main/resourcesapp
src/main/webappeclipse
src/test/javawebapp
src/test/resourcesmaven
在项目目录下,打开cmd,mvn archetype:create-from-project 这样从该项目生成了骨架url
此时在项目的target\generated-sources\archetype下生成了新的骨架文件,spa
在target\generated-sources\archetype执行 mvn clean install则将骨架文件install到本地仓库了server
至此可使用这个骨架来重构项目。
使用mvn archetype:generate -DarchetypeCatalog=local来生成新项目
在target\generated-sources\archetype执行mvn deploy 则将骨架上传到私服
如下注意:
<distributionManagement>
<repository>
<id>releases</id>
<name>releases</name>
<url>http://127.0.0.1:8081/nexus/content/repositories/releases/</url>
</repository>
<snapshotRepository>
<id>snapshots</id>
<name>snapshots</name>
<url>http://127.0.0.1:8081/nexus/content/repositories/snapshots/</url>
</snapshotRepository>
</distributionManagement>
<server>
<id>releases</id>
<username>admin</username>
<password>admin123</password>
</server>
<server>
<id>snapshots</id>
<username>admin</username>
<password>admin123</password>
</server>
pom和settings的ID须要一致
不然没法发布到私服
发布到私服后,能够在eclipse中使用,步骤以下
设置catalog file 为http://127.0.0.1:8081/nexus/content/groups/public/archetype-catalog.xml
描述随便写例如:test-webapp