5分钟搭建私人Java博客系统——Tale
本文適合剛學(xué)習(xí)完 Java 語(yǔ)言基礎(chǔ)的人群,跟著本文可了解和運(yùn)行 Tale 項(xiàng)目。示例均在 Windows 操作系統(tǒng)下演示
本文作者:HelloGitHub-秦人
?
HelloGitHub 推出的《講解開(kāi)源項(xiàng)目》[1]系列,今天給大家?guī)?lái)一款基于 Java 語(yǔ)言的輕量級(jí)博客開(kāi)源項(xiàng)目——Tale
它擁有小、美、快、穩(wěn)的特點(diǎn)。該項(xiàng)目完全開(kāi)源、免費(fèi),能夠讓你快速搭建包含前、后臺(tái)的博客系統(tǒng),大大節(jié)省了搭建私人博客的時(shí)間,開(kāi)箱即用。讓你可以專(zhuān)注于創(chuàng)作,讓有故事的人更方便的表達(dá)想法。
Tale 的項(xiàng)目地址:https://github.com/otale/tale
想要快速搭建一套自己的博客,那就跟著本文的步驟。你只需要花 5 分鐘,就能擁有一個(gè)屬于自己的私人博客了,并且可以對(duì)整個(gè)項(xiàng)目有一個(gè)完成的概念和感覺(jué)。下面是搭建完成的效果圖:
那就讓我們開(kāi)始吧!
一、技術(shù)棧
Tale 基于的技術(shù)如下:
?Blade 框架:快速搭建 Web 應(yīng)用程序的開(kāi)源框架,該框架代碼簡(jiǎn)潔、風(fēng)格優(yōu)雅。?Jetbrick-template 模板引擎:適合于動(dòng)態(tài) HTML 頁(yè)面輸出或者代碼生成,可替代 JSP 頁(yè)面或者 Velocity 等模板。指令和 Velocity 相似,表達(dá)式和 Java 保持一致,易學(xué)易用。?SQLite 數(shù)據(jù)庫(kù):是一種嵌入式數(shù)據(jù)庫(kù),它的數(shù)據(jù)庫(kù)就是一個(gè)文件。
二、項(xiàng)目結(jié)構(gòu)
該項(xiàng)目采用 MVC 模式:Model 數(shù)據(jù)層、View 展現(xiàn)層,Controller 邏輯層。下面簡(jiǎn)單介紹下項(xiàng)目的結(jié)構(gòu),便于我們翻閱源碼、開(kāi)發(fā)和運(yùn)行。項(xiàng)目結(jié)構(gòu)如下圖:
項(xiàng)目分為前端、后臺(tái)兩部分,下面我們分開(kāi)來(lái)介紹:
2.1 后臺(tái)代碼目錄說(shuō)明
?annotation:自定義注解目錄,包括系統(tǒng)日志的注解類(lèi)?bootstarp:初始化操作目錄,包括初始化進(jìn)程類(lèi), sqlite數(shù)據(jù)庫(kù)初始化類(lèi),公共常量類(lèi)等。?controller:業(yè)務(wù)的控制器目錄,包括文章控制器,分類(lèi)控制器,初始化博客的控制器等。?extension:底層公用代碼目錄,包括后臺(tái)公共函數(shù),主題公共函數(shù)。?hooks:攔截器/過(guò)濾器目錄,做一些攔截器的操作。?model:數(shù)據(jù)模型目錄,包括數(shù)據(jù)庫(kù)模型,參數(shù)模型,業(yè)務(wù)模型?service:業(yè)務(wù)層目錄,包括站點(diǎn),系統(tǒng)配置,分類(lèi),標(biāo)簽,文章,評(píng)論的業(yè)務(wù)類(lèi)。?task:定時(shí)任務(wù)目錄,可自定時(shí)添加定時(shí)任務(wù)。?utils:業(yè)務(wù)層工具類(lèi)目錄,包括圖像工具類(lèi),緩存工具類(lèi),公用工具類(lèi)。?validators:驗(yàn)證器目錄,包括保存文章的校驗(yàn),添加評(píng)論的校驗(yàn)功能。?Application:入口類(lèi),在 IDE 中可直接運(yùn)行。
2.2 前臺(tái)代碼目錄說(shuō)明
?plugins:插架存放目錄,此目錄作者廢棄了?static:靜態(tài)資源目錄,包括 css、images、js 和第三方插件?templates:模板資源目錄,包括后臺(tái)管理界面、公共模板和主題模板,支持?jǐn)U展主題?application*.properties:項(xiàng)目環(huán)境配置文件
Tale 的項(xiàng)目的結(jié)構(gòu)很簡(jiǎn)單和清晰,想把它運(yùn)行起來(lái)也超級(jí)簡(jiǎn)單。你是不是開(kāi)始手癢癢了,那接下來(lái)我們一起讓它運(yùn)行起來(lái)吧。
三、實(shí)戰(zhàn)操作
3.1 準(zhǔn)備工作
1.確保本地已安裝 Java8 開(kāi)發(fā)環(huán)境:2. 確保本地已安裝 maven 工具:
3.2 下載項(xiàng)目
通過(guò)?git clone?命令把項(xiàng)目下載到本地:
git clone https://github.com/otale/tale.git3.3 運(yùn)行項(xiàng)目
我這里介紹了兩種運(yùn)行方式:通過(guò) IDE 運(yùn)行和命令行運(yùn)行。
3.3.1 方法一:通過(guò) IDE 運(yùn)行
1. 將項(xiàng)目導(dǎo)入到 IDE 中,這里我使用的是開(kāi)發(fā)工具是 IDEA:
2.找到?com.tale.Application?類(lèi),直接運(yùn)行:
? 3.運(yùn)行成功,如下圖:
3.3.2 命令行運(yùn)行
1. 切換到項(xiàng)目源碼路徑,編譯源碼命令如下:
mvn clean package -Pprod -Dmaven.test.skip=true?
2. 切換到?tale\target\dist\?目錄
?
?
3.解壓 tale.zip 壓縮文件
?
4. 運(yùn)行?tale-latest.jar
java?-jar??tale-latest.jar5. 啟動(dòng)成功如下圖:
3.4 項(xiàng)目啟動(dòng)成功
1. 初始化配置,訪問(wèn):http://127.0.0.1:9000/ 首次登錄,需要填寫(xiě)配置信息:
2. 登錄后臺(tái)管理系統(tǒng),后臺(tái)系統(tǒng)鏈接:http://127.0.0.1:9000/admin/login 輸入管理員賬號(hào)和密碼:admin 即可登錄:
?
后臺(tái)管理頁(yè)面如下圖:
3.博客前臺(tái)頁(yè)面,博客前臺(tái)鏈接:http://127.0.0.1:9000/
?
Tale 博客包含的功能就不一一介紹了,跟著項(xiàng)目的文檔,在 web 頁(yè)面“點(diǎn)點(diǎn)點(diǎn)”就可以了。那么快去寫(xiě)自己博客上的第一篇博客吧!
四、最后
教程至此,這個(gè)項(xiàng)目應(yīng)該已經(jīng)在你的本地跑起來(lái)了。是不是很有成就感?后面怎么玩就看你自己了:部署到服務(wù)器正式上線、定制自己專(zhuān)屬的功能、給項(xiàng)目貢獻(xiàn)代碼等,都是可以的。
本教程是針對(duì)有一定 Java 編程基礎(chǔ),但又不知道如果運(yùn)行本項(xiàng)目的小伙伴。如果你是老手歡迎直接閱讀下面參考資料,獲取更多更詳細(xì)的資料。
References
[1]?《講解開(kāi)源項(xiàng)目》:?https://github.com/HelloGitHub-Team/Article[2]?tale wiki:?https://github.com/otale/tale/wiki[3]?Blade 官方文檔:?https://lets-blade.com/docs/why-blade.html[4]?jetbrick-template 項(xiàng)目地址:?https://gitee.com/sub/jetbrick-template[5]?Blade 項(xiàng)目地址:?https://github.com/lets-blade/blade
?
關(guān)注公眾號(hào)加入交流群,一起討論有趣的技術(shù)話(huà)題
?
『講解開(kāi)源項(xiàng)目系列』——讓對(duì)開(kāi)源項(xiàng)目感興趣的人不再畏懼、讓開(kāi)源項(xiàng)目的發(fā)起者不再孤單。跟著我們的文章,你會(huì)發(fā)現(xiàn)編程的樂(lè)趣、使用和發(fā)現(xiàn)參與開(kāi)源項(xiàng)目如此簡(jiǎn)單。歡迎聯(lián)系我(微信:xueweihan,備注:講解)加入我們,讓更多人愛(ài)上開(kāi)源、貢獻(xiàn)開(kāi)源~
總結(jié)
以上是生活随笔為你收集整理的5分钟搭建私人Java博客系统——Tale的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 数据结构常用常考经典习题【按十大专题总结
- 下一篇: 正版软件 - AxMath 专业的数学公