使用Maven来管理项目-使用Maven来创建一个Maven项目(二)

创建一个Maven项目我们使用使用Maven的一个插件(Maven Archetype Plugin),这个插件为我们提供了一个创建Maven项目的模板(Archetype),这里说的创建一个Maven项目是使用Maven插件命名,没有使用IDE,使用开发IDE请搜索项目资料学习。备注:archetype是一个Maven项目管理模板
相关命令:
archetype:create  (已经弃用)使用archetype来创建一个Maven项目,是使用的是archetype的版本是1.0-alpha-7
archetype:generate  使用archetype来创建一个Maven项目,要求使用从archetype的类型选择一个archetype,并从远程仓库中检索archetype,一旦检索到它就会创建一个Mave项目
archetype:create-from-project  从一个已经存在的项目中创建一个archetype
archetype:crawl  搜索archetypes仓库并更新
archetype:jar  使用jar打包archetype
archetype:integration-test   测试
archetype:update-local-catalog  更新本地archetype
一、创建一个单一的项目
mvn archetype:generate -B -DarchetypeGroupId=org.apache.maven.archetypes -DarchetypeArtifactId=maven-archetype-quickstart -DarchetypeVersion=1.1 -DgroupId=(你的组织名称eg:com.company.app) -DartifactId=(项目名称eg:application)-Dversion=(项目版本号eg:1.0-SNAPSHOT)

二、从一个多模块的项目中创建Maven工程
mvn archetype:create-from-project -Darchetype.filteredExtensions=java

|____project
| |____pom.xml
| |____project-application
| | |____pom.xml
| |____project-business
| | |____pom.xml
| | |____src
| | | |____main
| | | | |____java
| | | | | |____com
| | | | | | |____company
| | | | | | | |____archetype
| | | | | | | | |____services
| | | | | | | | | |____BusinessService.java
| | | | |____resources
| | | | | |____META-INF
| | | | | | |____spring
| | | | | | | |____module-context.xml
| | | |____test
| | | | |____resources
| | | | | |____log4j.xml
| |____project-domain
| | |____pom.xml
| | |____src
| | | |____main
| | | | |____java
| | | | | |____com
| | | | | | |____company
| | | | | | | |____archetype
| | | | | | | | |____domain
| | | | | | | | | |____ConfigurableBean.java
| | | | | | | | | |____User.java
| | | | |____resources
| | | | | |____META-INF
| | | | | | |____orm.xml
| | | |____test
| | | | |____java
| | | | | |____com
| | | | | | |____company
| | | | | | | |____archetype
| | | | | | | | |____domain
| | | | | | | | | |____AbstractConfigurableBeanTest.java
| | | | |____resources
| | | | | |____log4j.xml
| |____project-infrastructure
| | |____pom.xml
| | |____src
| | | |____main
| | | | |____java
| | | | | |____com
| | | | | | |____company
| | | | | | | |____archetype
| | | | | | | | |____infrastructure
| | | | | | | | | |____CompositeConfigurationFactoryBean.java
| | | | | | | | | |____DefaultSecurityPolicy.java
| | | | | | | | | |____Log4jMBean.java
| | | | | | | | | |____SpringBeanConfigurer.java
| | | | | | | | | |____SystemArchitecture.java
| | | | |____resources
| | | | | |____archetype.properties
| | | | | |____META-INF
| | | | | | |____aop.xml
| | | | | | |____spring
| | | | | | | |____module-context.xml
| | | |____test
| | | | |____java
| | | | | |____com
| | | | | | |____company
| | | | | | | |____quickstart
| | | | | | | | |____SanityTest.java
| | | | |____resources
| | | | | |____log4j.xml
| |____project-persistence
| | |____pom.xml
| | |____src
| | | |____main
| | | | |____resources
| | | | | |____META-INF
| | | | | | |____persistence.xml
| | | | | | |____spring
| | | | | | | |____module-context.xml
| | | |____test
| | | | |____java
| | | | | |____com
| | | | | | |____company
| | | | | | | |____archetype
| | | | | | | | |____persistence
| | | | | | | | | |____JpaClientRepositoryTest.java
| | | | | | | | | |____MappingsTest.java
| | | | |____resources
| | | | | |____jdbc-tests.xml
| | | | | |____log4j.xml
| | | | | |____unitils.properties
| |____project-remoting
| | |____pom.xml
| | |____src
| | | |____main
| | | | |____java
| | | | | |____com
| | | | | | |____company
| | | | | | | |____archetype
| | | | | | | | |____remoting
| | | | | | | | | |____Connector.java
| | | | |____resources
| | | | | |____META-INF
| | | | | | |____spring
| | | | | | | |____module-context.xml
| | | |____test
| | | | |____resources
| | | | | |____log4j.xml
| |____project-webapp
| | |____com.capgemini.archetype.gwt.Application.launch
| | |____pom.xml
| | |____src
| | | |____main
| | | | |____java
| | | | | |____com
| | | | | | |____company
| | | | | | | |____archetype
| | | | | | | | |____web
| | | | | | | | | |____struts
| | | | | | | | | | |____AbstractPostBackAction.java
| | | | | | | | | | |____GlobalExceptionHandler.java
| | | | | | | | | | |____SafeActionMapping.java
| | | | |____resources
| | | | | |____META-INF
| | | | | | |____log4j.xml
| | | | | | |____spring
| | | | | | | |____module-context.xml
| | | | |____webapp
| | | | | |____error.jsp
| | | | | |____index.html
| | | | | |____notFound.jsp
| | | | | |____WEB-INF
| | | | | | |____jonas-web.xml
| | | | | | |____spring-web-context.xml
| | | | | | |____struts-config.xml
| | | | | | |____web.xml
| | | | | | |____weblogic.xml
| | | |____test
| | | | |____resources
| | | | | |____log4j.xml
| | | | |____tomcat
| | | | | |____context.xml
| |____project-webservices
| | |____pom.xml
| | |____src
| | | |____main
| | | | |____resources
| | | | | |____META-INF
| | | | | | |____spring
| | | | | | | |____module-context.xml
| | | |____test
| | | | |____java
| | | | | |____com
| | | | | | |____company
| | | | | | | |____archetype
| | | | | | | | |____ws
| | | | | | | | | |____AbstractWSTestCase.java
| | | | |____resources
| | | | | |____log4j.xml
This can be compared to the original tree of the project from which the archetype is originating.

$ tree
.
|____archetype-application
| |____pom.xml
|____archetype-business
| |____pom.xml
| |____src
| | |____main
| | | |____java
| | | | |____com
| | | | | |____capgemini
| | | | | | |____archetype
| | | | | | | |____services
| | | | | | | | |____BusinessService.java
| | | |____resources
| | | | |____META-INF
| | | | | |____spring
| | | | | | |____module-context.xml
| | |____test
| | | |____java
| | | |____resources
| | | | |____log4j.xml
|____archetype-domain
| |____pom.xml
| |____src
| | |____main
| | | |____java
| | | | |____com
| | | | | |____capgemini
| | | | | | |____archetype
| | | | | | | |____domain
| | | | | | | | |____ConfigurableBean.java
| | | | | | | | |____User.java
| | | |____resources
| | | | |____META-INF
| | | | | |____orm.xml
| | |____test
| | | |____java
| | | | |____com
| | | | | |____capgemini
| | | | | | |____archetype
| | | | | | | |____domain
| | | | | | | | |____AbstractConfigurableBeanTest.java
| | | |____resources
| | | | |____log4j.xml
|____archetype-infrastructure
| |____pom.xml
| |____src
| | |____main
| | | |____java
| | | | |____com
| | | | | |____capgemini
| | | | | | |____archetype
| | | | | | | |____infrastructure
| | | | | | | | |____CompositeConfigurationFactoryBean.java
| | | | | | | | |____DefaultSecurityPolicy.java
| | | | | | | | |____Log4jMBean.java
| | | | | | | | |____SpringBeanConfigurer.java
| | | | | | | | |____SystemArchitecture.java
| | | |____resources
| | | | |____archetype.properties
| | | | |____META-INF
| | | | | |____aop.xml
| | | | | |____spring
| | | | | | |____module-context.xml
| | |____test
| | | |____java
| | | | |____com
| | | | | |____capgemini
| | | | | | |____quickstart
| | | | | | | |____SanityTest.java
| | | |____resources
| | | | |____log4j.xml
|____archetype-persistence
| |____pom.xml
| |____src
| | |____main
| | | |____ddl
| | | |____java
| | | | |____com
| | | | | |____capgemini
| | | | | | |____archetype
| | | | | | | |____persistence
| | | |____resources
| | | | |____META-INF
| | | | | |____persistence.xml
| | | | | |____spring
| | | | | | |____module-context.xml
| | |____test
| | | |____java
| | | | |____com
| | | | | |____capgemini
| | | | | | |____archetype
| | | | | | | |____persistence
| | | | | | | | |____JpaClientRepositoryTest.java
| | | | | | | | |____MappingsTest.java
| | | |____resources
| | | | |____jdbc-tests.xml
| | | | |____log4j.xml
| | | | |____unitils.properties
|____archetype-remoting
| |____pom.xml
| |____src
| | |____main
| | | |____java
| | | | |____com
| | | | | |____capgemini
| | | | | | |____archetype
| | | | | | | |____remoting
| | | | | | | | |____Connector.java
| | | |____resources
| | | | |____META-INF
| | | | | |____spring
| | | | | | |____module-context.xml
| | |____test
| | | |____java
| | | |____resources
| | | | |____log4j.xml
|____archetype-webapp
| |____com.capgemini.archetype.gwt.Application.launch
| |____pom.xml
| |____src
| | |____main
| | | |____java
| | | | |____com
| | | | | |____capgemini
| | | | | | |____archetype
| | | | | | | |____web
| | | | | | | | |____struts
| | | | | | | | | |____AbstractPostBackAction.java
| | | | | | | | | |____GlobalExceptionHandler.java
| | | | | | | | | |____SafeActionMapping.java
| | | |____resources
| | | | |____META-INF
| | | | | |____log4j.xml
| | | | | |____spring
| | | | | | |____module-context.xml
| | | |____webapp
| | | | |____error.jsp
| | | | |____images
| | | | |____index.html
| | | | |____notFound.jsp
| | | | |____scripts
| | | | |____styles
| | | | |____WEB-INF
| | | | | |____jonas-web.xml
| | | | | |____spring-web-context.xml
| | | | | |____struts-config.xml
| | | | | |____web.xml
| | | | | |____weblogic.xml
| | |____test
| | | |____java
| | | |____resources
| | | | |____log4j.xml
| | | |____tomcat
| | | | |____context.xml
|____archetype-webservices
| |____pom.xml
| |____src
| | |____main
| | | |____java
| | | | |____com
| | | | | |____capgemini
| | | | | | |____archetype
| | | | | | | |____ws
| | | |____resources
| | | | |____META-INF
| | | | | |____spring
| | | | | | |____module-context.xml
| | |____test
| | | |____java
| | | | |____com
| | | | | |____capgemini
| | | | | | |____archetype
| | | | | | | |____ws
| | | | | | | | |____AbstractWSTestCase.java
| | | |____resources
| | | | |____log4j.xml
|____archetype.properties
|____pom.xml
|____src
| |____env
| | |____dev
创建的项目如何在IDE中使用:
方式一:
使用mvn idea:idea 创建IDEA的配置文件
使用mvn eclipse:eclipse 创建eclipse的配置文件
这样项目的IDEA就可以使用
方式二:
使用IDE的import project,在对话框中选择pom.xml就可以导入Maven工程
其他创建方式参见:http://maven.apache.org/archetype/maven-archetype-plugin/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值