Maven 三種archetype說明
新建Maven project專案時,需要選擇archetype。
那麼,什麼是archetype?
archetype的意思就是模板原型的意思,原型是一個Maven專案模板工具包。一個原型被定義為從其中相同型別的所有其它事情是由一個原始圖案或模型。名稱配合,因為我們正在努力提供一種系統,該系統提供了一種生成Maven專案的一致的手段。原型將幫助作者為使用者建立Maven專案模板,併為使用者提供了手段,產生的這些專案模板引數化的版本。
建立Maven專案時,網上建議的分別是
1、cocoon-22-archetype-webapp
2、maven-archetype-quickstart
3、maven-archetype-webapp
那麼為什麼是這三種模板呢?這三種模板分別代表什麼意思呢?
1、cocoon-22-archetype-webapp
建好專案後,專案的結構如下:
可以看到,這個專案結構裡包含了applicationContext.xml、log4j.xml、web.xml
pom.xml的內容如下:
- <?xml version="1.0" encoding="UTF-8"?>
- <!--
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
- http://www.apache.org/licenses/LICENSE-2.0
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
- -->
- <!-- $Id: pom.xml 642118 2008-03-28 08:04:16Z reinhard $ -->
- <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.0</modelVersion>
- <packaging>war</packaging>
- <name>springboot-cocoon</name>
- <groupId>com.study.cx</groupId>
- <artifactId>springboot-cocoon</artifactId>
- <version>0.0.1-SNAPSHOT</version>
- <build>
- <plugins>
- <plugin>
- <groupId>org.mortbay.jetty</groupId>
- <artifactId>maven-jetty-plugin</artifactId>
- <version>6.1.7</version>
- <configuration>
- <connectors>
- <connector implementation="org.mortbay.jetty.nio.SelectChannelConnector">
- <port>8888</port>
- <maxIdleTime>30000</maxIdleTime>
- </connector>
- </connectors>
- <webAppSourceDirectory>${project.build.directory}/${pom.artifactId}-${pom.version}</webAppSourceDirectory>
- <contextPath>/</contextPath>
- </configuration>
- </plugin>
- </plugins>
- </build>
- <dependencies>
- <!--dependency>
- <groupId>com.study.cx</groupId>
- <artifactId>[the artifact id of the block to be mounted]</artifactId>
- <version>0.0.1-SNAPSHOT</version>
- </dependency-->
- </dependencies>
- </project>
2、maven-archetype-quickstart
建好專案後,專案的結構如下:
在這個專案裡,除了pom.xml外,沒有其他的xml了,但是有main、test兩個包,包裡放了一個App、AppTest類
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.study.cx</groupId>
- <artifactId>springboot-quickstart</artifactId>
- <version>0.0.1-SNAPSHOT</version>
- <packaging>jar</packaging>
- <name>springboot-quickstart</name>
- <url>http://maven.apache.org</url>
- <properties>
- <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- </properties>
- <dependencies>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>3.8.1</version>
- <scope>test</scope>
- </dependency>
- </dependencies>
- </project>
3、maven-archetype-webapp
建好專案後,專案的結構如下:
在這個專案裡,有WEB-INF目錄,並且有web.xml和一個index.jsp
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/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <groupId>com.study.cx</groupId>
- <artifactId>srpingboot-mavenWebapp</artifactId>
- <packaging>war</packaging>
- <version>0.0.1-SNAPSHOT</version>
- <name>srpingboot-mavenWebapp Maven Webapp</name>
- <url>http://maven.apache.org</url>
- <dependencies>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>3.8.1</version>
- <scope>test</scope>
- </dependency>
- </dependencies>
- <build>
- <finalName>srpingboot-mavenWebapp</finalName>
- </build>
- </project>
maven提供的41個骨架原型分別是:
1: appfuse-basic-jsf (建立一個基於Hibernate,Spring和JSF的Web應用程式的原型)
2: appfuse-basic-spring(建立一個基於Hibernate,Spring和Spring MVC的Web應用程式的原型)
3: appfuse-basic-struts(建立一個基於Hibernate,Spring和Struts 2的Web應用程式的原型)
4: appfuse-basic-tapestry(建立一個基於Hibernate,Spring 和 Tapestry 4的Web應用程式的原型)
5: appfuse-core(建立一個基於Hibernate,Spring 和 XFire的jar應用程式的原型)
6: appfuse-modular-jsf(建立一個基於Hibernate,Spring和JSF的模組化應用原型)
7: appfuse-modular-spring(建立一個基於Hibernate, Spring 和 Spring MVC 的模組化應用原型)
8: appfuse-modular-struts(建立一個基於Hibernate, Spring 和 Struts 2 的模組化應用原型)
9: appfuse-modular-tapestry (建立一個基於 Hibernate, Spring 和 Tapestry 4 的模組化應用原型)
10: maven-archetype-j2ee-simple(一個簡單的J2EE的Java應用程式)
11: maven-archetype-marmalade-mojo(一個Maven的 外掛開發專案 using marmalade)
12: maven-archetype-mojo(一個Maven的Java外掛開發專案)
13: maven-archetype-portlet(一個簡單的portlet應用程式)
14: maven-archetype-profiles()
15:maven-archetype-quickstart()
16: maven-archetype-site-simple(簡單的網站生成專案)
17: maven-archetype-site(更復雜的網站專案)
18:maven-archetype-webapp(一個簡單的Java Web應用程式)
19: jini-service-archetype(Archetype for Jini service project creation)
20: softeu-archetype-seam(JSF+Facelets+Seam Archetype)
21: softeu-archetype-seam-simple(JSF+Facelets+Seam (無殘留) 原型)
22: softeu-archetype-jsf(JSF+Facelets 原型)
23: jpa-maven-archetype(JPA 應用程式)
24: spring-osgi-bundle-archetype(Spring-OSGi 原型)
25: confluence-plugin-archetype(Atlassian 聚合外掛原型)
26: jira-plugin-archetype(Atlassian JIRA 外掛原型)
27: maven-archetype-har(Hibernate 存檔)
28: maven-archetype-sar(JBoss 服務存檔)
29: wicket-archetype-quickstart(一個簡單的Apache Wicket的專案)
30: scala-archetype-simple(一個簡單的scala的專案)
31: lift-archetype-blank(一個 blank/empty liftweb 專案)
32: lift-archetype-basic(基本(liftweb)專案)
33: cocoon-22-archetype-block-plain([http://cocoapacorg2/maven-plugins/])
34: cocoon-22-archetype-block([http://cocoapacorg2/maven-plugins/])
35:cocoon-22-archetype-webapp([http://cocoapacorg2/maven-plugins/])
36: myfaces-archetype-helloworld(使用MyFaces的一個簡單的原型)
37: myfaces-archetype-helloworld-facelets(一個使用MyFaces和Facelets的簡單原型)
38: myfaces-archetype-trinidad(一個使用MyFaces和Trinidad的簡單原型)
39: myfaces-archetype-jsfcomponents(一種使用MyFaces建立定製JSF元件的簡單的原型)
40: gmaven-archetype-basic(Groovy的基本原型)
41: gmaven-archetype-mojo(Groovy mojo 原型)
(41中骨架原文連結:http://www.cnblogs.com/iusmile/archive/2012/11/14/2770118.html)
原文:https://blog.csdn.net/cx1110162/article/details/78297654
相關推薦
Maven 三種archetype說明
新建Maven project專案時,需要選擇archetype。那麼,什麼是archetype?archetype的意思就是模板原型的意思,原型是一個Maven專案模板工具包。一個原型被定義為從其中相同型別的所有其它事情是由一個原始圖案或模型。名稱配合,因為我們正在努力提供
Maven 實戰 - 常用三種archetype說明
archetype:原型的意思,可理解為Maven專案模板工具包 常用archetype 1、cocoon-22-archetype-webapp 2、maven-archetype-quickstart 3、maven-archetype-webapp mvn a
Maven三種倉庫的配置
部分 releases oca mave log ble cal password 歡迎頁 原文:http://www.cnblogs.com/jack1995/p/6925879.html 1 本地倉庫的配置 在第一篇中我們介紹過,Maven的倉庫有三類,這裏不再介紹
maven的三種啟動方式
tomcat ava share path base sport height rem sun 1 沒有Tomcat情況下;(教程:http://8e351a5c.wiz03.com/share/s/2edhFs04v4Ek2hJTUO1rWuJG3kNEf92eOkvZ2
JavaScript:學習筆記(7)——VAR、LET、CONST三種變量聲明的區別
也不能 機制 隱患 data- 進行 tro 作用 開始 hoisting JavaScript:學習筆記(7)——VAR、LET、CONST三種變量聲明的區別 ES2015(ES6)帶來了許多閃亮的新功能,自2017年以來,許多JavaScript開發人員已經熟悉並
maven專案的三種部署方式
第一種:打包成.war檔案,拷貝到tomcat中webapps檔案內即可完成部署。 第二種:在pom.xml中引入tomcat-maven外掛,將從中央庫下載tomcat相關jar包,然後通過maven build進行部署。 第三種:直接使用service部署。本人用此種方法部署時開始一直不成功,有一點特別注
maven的三種打包外掛方式
http://www.blogjava.net/liuguly/archive/2017/05/03/432496.html本文是轉發的一篇部落格,原文參考上面連結第一種 <groupId>org.apache.maven.plugins</g
Maven打包的三種方式
Maven可以使用mvn package指令對專案進行打包,如果使用Java -jar xxx.jar執行執行jar檔案,會出現"no main manifest attribute, in xxx.jar"(沒有設定Main-Class)、ClassNotFound
maven:讀取程式版本號的三種方案
方案1 在應用專案中,如果應用程式需要獲取當前程式的版本號,可以讀取”/META-INF/maven/${groupId}/${artifactId}/pom.properties“,獲取maven生成的版本資訊。 當然前提用應用程式在執行時得知道自己的gr
maven打包springboot專案的三種場景
近期開發了一個微服務專案,打包部署的時候遇到過很多問題,現將遇到的問題總結,方便有需要的猿友們借鑑1、有些公共程式碼,如快取,資料來源和公共實體類以及其它工具類的封裝我們可以打包成工具包,方便其他服務開發時呼叫,其他服務在pom檔案裡新增依賴即可使用,這個時候pom.xml裡
向maven倉庫中手動安裝本地jar的三種方法
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-s
Maven打包三種方法(推薦第三種)
Maven可以使用mvn package指令對專案進行打包,如果使用Java -jar xxx.jar執行執行jar檔案,會出現"no main manifest attribute, in xxx.jar"(沒有設定Main-Class)、ClassNotFoundExce
maven打包三種方式
方法一:cmd 控制檯打包(比較不推薦)首先安裝maven外掛百度下載一個,配置環境變數什麼的~在cmd控制檯能mvn version能有資料出現。打包只需要到專案的根目錄下~在cmd敲入mvn package.不推薦原因:報錯後的報錯資訊比較不明確。方法二:eclipse或
maven的三種工程pom、jar、war的區別
box enter 訪問 dao class 簡化 管理 pop -c 轉: maven的三種工程pom、jar、war的區別 2018年09月03日 10:02:53 houjx3 閱讀數:2918更多 個人分類: maven
python編程(python開發的三種運行模式)【轉】
阻塞 data tail 驗證 目錄 pro 什麽 read bus 轉自:http://blog.csdn.net/feixiaoxing/article/details/53980886 版權聲明:本文為博主原創文章,未經博主允許不得轉載。 目錄(?)[-]
調用類的三種方式
set div sharp csharp true ren light setname clas 1.T t; Teacher teach ;//T t = new T t(); teach.SetName("lizl"); teach.Say(); 2 *t T
codevs 2924 數獨挑戰 x(三種做法+超詳細註釋~)
是否 初始化 cst next using 最大 pos 描述 name 2924 數獨挑戰 時間限制: 1 s 空間限制: 1000 KB 題目等級 : 鉆石 Diamond
同一功能三種不同實現方式你選哪個
img com png 指令 con 段落 gin 表示 alt 例題一枚:在input框中輸入內容,會相應的顯示在下面的div中的不同做法: <!DOCTYPE html> <html> <head> &
通過fsharp 使用Enterprise Library Unity 3 - 三種攔截模式的探索
clean stc ane adding clas 是什麽 idc 內部函數 ash 這篇就三種攔截模式進行一下探索。 特性總結 類型 特點 其它 InterfaceInter
集合的三種遍歷方式
叠代器 whl print 循環 下一個 sys 三種 iterator for 1、for循環 代碼實現: for(int i=0;i<list.size();i++){ product p=list.get(i); System.println(p); } 2、叠