開源項目地址:git
http://git.oschina.net/chinax...web
做爲一名碼農,常常要爲了工做或業餘愛好本身搭建項目(大公司除外),配環境,找Jar包,非常煩人。sql
Maven支持自定義腳手架,因此本身整了一套多模塊的,面向微服務應用的Maven Archetype供你們參考使用。數據庫
可快速建立用於開發環境的基礎應用架構。apache
模板生成應用架構組成tomcat
生成代碼結構mybatis
模塊是能夠本身配置的。架構
關於 maven 腳手架相關的知識請自行搜索或查閱相關書籍文檔。app
將本項目克隆或下載到本地目錄,執行webapp
mvn clean install
將腳手架發佈到本地maven倉庫中。
若是須要將其發佈到私服中,修改腳手架的pom文件中的 distributionManagement 元素內容爲本身的私服地址便可。(前提是你得有私服的發佈帳號及密碼)
執行
mvn clean deploy
將腳手架發佈到私服。
查看倉庫中會多一個:archetype-catalog.xml 文件。
內容大體以下:
... <archetype> <groupId>com.quanshi</groupId> <artifactId>sof-archetype</artifactId> <version>1.0.0</version> <description>sof-archetype</description> </archetype> ...
當腳手架發佈成功後,就可使用了。
使用交互的方式:
mvn archetype:generate
出現腳手架列表:
Choose archetype: ... 10: internal -> org.apache.maven.archetypes:maven-archetype-webapp (An archetype which contains a sample Maven Webapp project.) 11: local -> com.quanshi:sof-archetype (sof-archetype) Choose a number or apply filter (format: [groupId:]artifactId, case sensitive contains): 7:
選擇 11: local -> com.quanshi:sof-archetype (sof-archetype)
按照提示,輸入下面幾項內容:
Choose a number or apply filter (format: [groupId:]artifactId, case sensitive contains): 7: 11 Define value for property 'groupId': com.coder4j Define value for property 'artifactId': demo Define value for property 'version' 1.0-SNAPSHOT: : 1.0.0 Define value for property 'package' com.coder4j: : com.coder4j.demo Confirm properties configuration: groupId: com.coder4j artifactId: demo version: 1.0.0 package: com.coder4j.demo Y: : y [INFO] ---------------------------------------------------------------------------- [INFO] Using following parameters for creating project from Archetype: sof-archetype:1.0.0 [INFO] ---------------------------------------------------------------------------- [INFO] Parameter: groupId, Value: com.coder4j [INFO] Parameter: artifactId, Value: demo [INFO] Parameter: version, Value: 1.0.0 [INFO] Parameter: package, Value: com.coder4j.demo [INFO] Parameter: packageInPathFormat, Value: com/coder4j/demo [INFO] Parameter: package, Value: com.coder4j.demo [INFO] Parameter: version, Value: 1.0.0 [INFO] Parameter: groupId, Value: com.coder4j [INFO] Parameter: artifactId, Value: demo [INFO] Parent element not overwritten in C:\Users\yanxiang.huang\workspace\test\demo\app\dal\pom.xml [INFO] Parent element not overwritten in C:\Users\yanxiang.huang\workspace\test\demo\app\biz\pom.xml [INFO] Parent element not overwritten in C:\Users\yanxiang.huang\workspace\test\demo\app\facade\pom.xml [INFO] Parent element not overwritten in C:\Users\yanxiang.huang\workspace\test\demo\app\facade-impl\pom.xml [INFO] Parent element not overwritten in C:\Users\yanxiang.huang\workspace\test\demo\app\integration\pom.xml [INFO] Parent element not overwritten in C:\Users\yanxiang.huang\workspace\test\demo\app\web\pom.xml [INFO] Parent element not overwritten in C:\Users\yanxiang.huang\workspace\test\demo\assembly\pom.xml [INFO] Parent element not overwritten in C:\Users\yanxiang.huang\workspace\test\demo\webdocs\pom.xml [INFO] Project created from Archetype in dir: C:\Users\yanxiang.huang\workspace\test\demo [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 06:50 min [INFO] Finished at: 2017-07-27T16:16:00+08:00 [INFO] Final Memory: 13M/243M [INFO] ------------------------------------------------------------------------
最終獲得項目。
或者可使用一條命令快速生成:
mvn archetype:generate \ -DarchetypeGroupId=com.quanshi \ -DarchetypeArtifactId=sof-archetype \ -DarchetypeVersion=1.0.0 \ -DgroupId=com.coder4j \ -DartifactId=bee \ -Dversion=1.0.0 \ -Dpackage=com.coder4j.bee
若是是別人發佈到私服,你經過私服來建立的話。
將私服地址配置到setting.xml中。
配置mirror或者repository都可。
經過腳手架獲得的項目須要簡單的配置部份內容。
項目日誌路徑的配置文件在:conf/config/logback.xml
中,自行更改一個可使用的日誌路徑。
初始項目的dal層是有初始代碼的,須要用到一張表:t_demo
表結構在 dal/src/main/resources/test.sql
中。
數據庫的配置文件在 conf/config/application.properties
我這裏沒有配置到 conf/filter
下,若是大家須要不一樣環境,請將配置放置到filter目錄的不一樣文件內,assembly打包模塊會將filter中的文件填充到config中。
配置更改完畢後,下面開始編譯啓動。
mvn clean package
啓動完成,將 target/${artifactId}.war
文件拷貝到 tomcat 的webapps下,啓動tomcat便可。
項目默認使用的jdk 1.8編譯。
訪問:
http://localhost:8080/${artifactId}/