什么是重复的Maven项目初始配置?举个例来说,比如你公司要采用Maven + GWT的搭配,那些对于很多同事,尤其是新同事来说,搭配这样的平台是相当痛苦的事情,每当有不熟悉配置的人进入到项目组,都要消耗一个人很多时间去搭配!这时你可能会说,我搭配好,把整个项目备份,下次要用时,就拿出来用不就行了!在这里我要提醒你,你这样保存的目录是死的,就是说你里面那些文件夹,如/src/main/java/com/mycompany/,这里/com/mycompany就是死的,当项目groupId从com.mycompany改为org.apache时,你拷过来的东西,还得花比较多的时间去改。并且如果项目组有很多人,每个人都得先从一个地方拷贝,比较麻烦,从某种意义上来说,创建一个这个项目初始配置的archetype会节省你,尤其是项目组的时间,如果有自己的maven repository服务器,那效果就更佳了。
在这里我并不打算解释maven archetype是什么东西,大家有兴趣,可以参考官方文档,它有详尽的解释,与实例,这里我也只是简单列举一下用法,也并不打算写一篇官方文档的翻译版,纯粹是介绍之意
官方文档:http://maven.apache.org/guides/mini/guide-creating-archetypes.html
下面是创建自己的archetype的步骤,及用法
1、首先创建一个maven archetype的项目,用下面的命令
mvn archetype:create
-DgroupId=[your project's group id]
-DartifactId=[your project's artifact id]
-DarchetypeArtifactId=maven-archetype-archetype
在上面的命令中 -D 是参数, groupId 与 archetypeId的意义也不解释了,maven项目的话,groupId, archetypeId, version这三个是必须得了解的,即使你用别人的dependency,这三个参数也是必须明确的,这里再次提醒一下,maven的官方网站是:http://maven.apache.org
首先在命令行窗口中,进到你想要存放这个项目的目录,如c:\test,又比如你公司的网站有http://www.mycompany.com,那么通常你的groupId就是"com.mycompany",新创建的archetype项目想命名为my-archetype,那么,就该打以下命令
c:\test > mvn archetype:create -DgroupId=com.mycompany -DartifactId=my-archetype -DarchetypeArtifactId=maven-archetype-archetype
运行完命令后c:\test目录下会生成下面这样一个目录结构
my-archetype
|--pom.xml //这个是archetype项目的pom文件,下面还有一个pom文件,两个是不同的
|--src
|--main
|--resources
|--archetype-resources //这个文件夹里面的文件全是要被复制的文件
|--pom.xml //要被复制的pom.xml文件
|--src
|--main
|--java //实际上,在创建新项目后,会自己帮你创建与groupId相对应的文件夹,然后把源代码文件复制相这些文件夹下面
|--App.java //要被复制的java代码文件
|--test
|--java
|--TestApp.java //要被复制的单元测试代码文件
|--META-INF
|--maven
|--archetype.xml //在这个xml文件中,要明确写明所有要被复制的文件的相对路径
然后运行下面这个命令,将自己的archetype install 到本地的maven repository目录中
c:\test > mvn install
就这样,你自己的maven archetype就己经成功被安装了,怎么使用它,下面再作简单介绍
比如有一个新同事,要用你的archetype生成一新项目的初始配置目录,groupId与你之前所写的有所不同,为com.company.customer,artifactId为news-module,那么,他需要运行下面这个命令
c:\test > mvn archetype:create -DarchetypeGoupId=com.mycompany -DarchetypeArtifactId=my-archetype -DarchetypeVersion=1.0-SNAPSHOT -DgroupId=com.mycompany.customer -DartifactId=news-module
不要怕命令长度太长,其实理解了它们的意思,就容易了,无非就是archetype、groupId、artifactId、version这几个单词的组合
在上面的命令中,-DarchetypeVersion=1.0-SNAPSHOT,这个1.0-SNAPSHOT是怎么来的呢,其实新创建的archetype项目version都是1.0-SNAPSHOT(你可以在c:\test\first-maven-archetype\pom.xml文件中找到,当然,如果你想换,你自己可以改一个你喜欢的)
运行完以上命令后,在你c:\test文件夹下,会生成下面这样一个目录
news-module
|--pom.xml //这个pom是复制过来的
|--src
|--main
|--java
|--com
|--mycompany //com,mycompany,customer这三个文件夹是根据groupId自动创建的
|--customer
|--App.java //这个文件是复制过来的
|--test
|--java
|--com
|--mycompany //com,mycompany,customer这三个文件夹是根据groupId自动创建的
|--customer
|--TestApp.java //这个文件是复制过来的
分享到:
相关推荐
Maven Archetype 并非一个简单的模板,而是一种可重复使用的构建模块,能够根据预定义的配置生成一个新的 Maven 项目。这种机制极大地简化了新项目的初始化过程,尤其是对于遵循特定规范或框架的项目。 ### Maven ...
然而,当我们使用Eclipse这样的集成开发环境(IDE)时,有时会遇到创建Maven Web项目时出现错误,这可能是由于Maven配置不当或网络问题导致的。为了解决这些问题,我们可以利用"Maven Archetype Catalog",这是一个...
总的来说,Maven Archetype Webapp 1.0.jar是Java Web开发者的重要工具,它简化了项目初始化过程,使得开发者可以更加专注于业务逻辑的实现,而非重复的项目搭建工作。通过理解和有效利用这一工具,开发者可以更高效...
【maven】多子模块maven模板工程archetype创建过程 在软件开发中,Maven作为Java项目管理和构建工具,提供了强大的依赖管理功能。而Maven的Archetype插件则可以帮助开发者快速创建新项目的模板,尤其对于有多个子...
除了使用现有的 Archetype,开发者还可以创建自己的 Archetype,以便分享或重复使用特定的项目结构。自定义 Archetype 包括构建 Archetype 项目、打包并发布到 Maven 仓库等步骤。 ### Maven Archetype 的扩展性 ...
每个Archetype都包含一组文件和目录结构,当用户使用该模板时,Maven会根据模板生成一个新的项目,填充默认的POM配置和必要的初始化文件。 2. archetype-catalog.xml结构 `archetype-catalog.xml`文件通常包含三个...
当你尝试使用Maven创建项目但遇到失败时,可能是因为缺少了对应的Archetype或者网络问题导致无法下载。此时,你可以手动提供本地的`maven-archetype-quickstart-1.1.jar`来解决问题。 以下是使用本地`maven-...
如果你发现现有的Archetypes不能满足需求,或者想要创建自己的项目模板,可以通过编写Archetype配置文件(archetype-descriptor.xml)和模板代码来实现。自定义的Archetypes可以发布到私有或公共的Maven仓库,供团队...
5. 使用SSM archetype创建项目: 要使用这个SSM archetype,首先需要在命令行或IDE中运行maven的archetype插件,输入相应的groupId、artifactId和version信息。完成后,会生成一个包含SSM框架配置文件、基本目录...
在Linux(特别是Ubuntu)环境中,有时Eclipse可能无法直接创建Maven项目,这时我们可以借助`maven-archetype-quickstart-1.1.jar`来手动完成项目初始化。 **一、Maven Archetype Quickstart的用途** Maven ...
6. 生成项目:Maven会根据所选Archetype创建一个新的项目目录,包含初始的pom.xml和其他必要的文件。 四、自定义Archetype 如果预定义的Archetypes不能满足需求,可以通过以下步骤创建自己的Archetype: 1. 创建...
使用SSH框架的maven archetype创建项目,开发者需要先安装Maven,然后使用Maven的archetype插件生成项目结构。命令行中输入指定的 archetype:generate 命令,填写相关的groupId、artifactId和version等信息,就可以...
【标题】"maven配置proxy和archetype"涉及的是在使用Maven构建Java项目时,如何设置代理服务器(proxy)和创建项目模板(archetype)的相关知识。在开发环境中,尤其是公司网络通常需要通过代理服务器访问外部资源,...
总的来说,"maven-archetype-quickstart-1.1.zip"是Maven初学者的重要工具,它简化了项目创建流程,帮助开发者快速上手Maven,同时也为那些遇到创建问题的用户提供了一种解决方案。理解并掌握如何使用这个archetype...
总结起来,`maven-archetype-webapp-1.0.jar`是Maven提供的一个用于创建Web应用的模板,它简化了项目初始化的过程,让开发者可以更专注于编写业务逻辑,而不是花费时间在配置基础结构上。理解和熟练使用Maven ...
1. Maven Archetype机制:Maven Archetype是一种快速创建新项目的方式,它定义了一种项目结构和初始配置。maven-archetype-3.1.2-source-release是一个特定版本的Archetype,用于生成源码发布版本的项目模板。 2. ...
"骨架"(Archetype)是Maven提供的一种机制,允许开发者创建项目模板,这些模板可以用来快速初始化新的Maven项目,包括基本的目录结构、文件内容以及初始的POM配置。这大大减少了从零开始创建新项目的繁琐工作。`...
以下是一个详细的Maven项目创建步骤,包括创建父项目、子模块以及设置相关的配置信息。 1. **新建Maven项目** 首先,打开IDE(如Eclipse或IntelliJ IDEA),在项目资源管理器中右键单击,选择"New" -> "Other"。在...
在开发过程中,我们常常使用Maven的骨架(Archetype)功能来快速生成一个新的项目结构,这有助于遵循最佳实践并减少手动配置的工作。 标题提及的“java maven archetype-catalog.xml”是与Maven骨架相关的文件。这...