开源项目地址: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}/