metabase项目源码编译构建为jar包

9 篇文章 0 订阅
8 篇文章 0 订阅

注:本教程讲解将metabase项目源码自己编译构建为jar包的过程,使用linux centos7系统
如果要直接进行使用请直接进入官网下载,下载地址:点击此处
找到网页中如下所示下载jar包后直接通过java -jar 命令启动,通过地址加3000端口号便可进行访问
也就是说如果只是要运行,只需要配置java环境即可,如果要进行编译,那么就需要看以下教程了
在这里插入图片描述
接下来主要讲解编译教程:
编译过程分为四步:

  • metabase源码包下载
  • 下载相关编译环境文件
  • 对编译环境进行搭建
  • 源码编译为jar包,进行访问

友情提示:可通过右边侧边栏中目录来查看文章整体结构

一,metabase源码包下载

源码包下载地址:点击此处
将zip格式的源码包下载下来
在这里插入图片描述
附上一张我下的源码已经编译运行后的版本信息:
在这里插入图片描述

二,下载编译相关环境文件

下载文件我都是在windows上进行下载的,然后将这些文件通过xshell上传到linux中,在linux中搭建编译环境
编译所需要的环境有:

  • jdk8以上
  • nodejs 8.x版本
  • leiningen

1,下载jdk8

下载地址
由于是linux上进行编译,所以我们下载红线处的jdk
在这里插入图片描述

2,下载node.js

由于在自己的其它练习中遇到过nodejs版本太新而出现无法正常编译的情况,所以这次自己使用了8.16.2的版本,

当然如果你 想下载最新版本试试的话:

最新版本下载地址
在这里插入图片描述

下载老版本

老版本下载地址
我们选择8.x版本的最新版,点击进去选择如下格式的进行下载因为点击后的页面总为这个大版本的最新版,所以我们直接选8.x的最新版即可,同一大版本应该影响不大
在这里插入图片描述

3,下载leiningen

leiningen地址
点击页面中红圈处,进入一个代码页面,将页面所有代码复制到一个空txt文件中,然后将后缀去掉,不要任何后缀
在这里插入图片描述

三,对编译环境进行搭建

首先利用xshell中的xftp将以上所有文件上传到linux中

1,安装jdk8

上传jdk

将下载好的JDK8上传到linux系统的/usr/java目录下,使用cd命令进入/usr/java目录,再使用tar -zxvf命令进行解压文件

cd /usr/java
tar -zxvf jdk-8u201-linux-x64.tar.gz
添加环境变量

用vim编辑器编辑profile,输入命令:vim /etc/ profile,再输入i进行编辑模式,在其中一行插入配置以下配置,然后esc键返回到命令行模式输入 :wq 保存并退出。

export JAVA_HOME=/usr/java/jdk1.8.0_201
export JRE_HOME=${JAVA_HOME}/jre
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export PATH=$PATH:${JAVA_PATH}

返回后在任意处输入java -version,如果出现对应版本号则配置成功

2,安装node.js

上传nodejs

将下载好的node-v8.16.2-linux-x64.tar.gz(这是我的下载版本)上传到linux系统的/opt/node目录下,使用cd命令进入/usr/bin目录,在使用tar -zxvf命令进行解压文件。

cd /opt/node
tar -zxvf node-v8.16.2-linux-x64.tar.gz
对nodejs进行安装

解压后执行以下命令,建立软连接以保证能在任何地方使用node命令,尽量使用绝对路径

ln -s /opt/node/node-v8.16.2-linux-x64/bin/npm /usr/local/bin/ 
ln -s /opt/node/node-v8.16.2-linux-x64/bin/node /usr/local/bin/

然后使用node -v得到版本号及配置成功
在这里插入图片描述

3,安装yarn

yarn是类似于npm的包管理器
在/usr/bin目录下执行以下命令,在线安装。(Linux需要联网),此过程可能比较漫长,由于自己是在虚拟机上网络不稳定,所以中断了好几次才成功,要保持网络通畅

curl -o- -L https://yarnpkg.com/install.sh | bash

然后执行yarn -v即可看到版本号
在这里插入图片描述

4,安装leiningen

Leiningen用于自动化Clojure项目,因为metabase前端使用react,后台使用clojure脚本编程,clojure百科
将下载好的lein文件上传到linux的/usr/bin下,并在该文件夹下输入命令lein进行运行。此过程仍然联网,并要保持网络顺畅

如果出现权限不足,执行
chmod +x /usr/bin/lein

四,源码编译为jar包,进行访问

1,编译

进入到我们解压后的源码文件夹中
编译前端代码,使用命令:

yarn run build

编译后端代码,使用命令:

lein ring server

前后端一起编译,使用命令:

yarn run build && lein ring server

然后进行构建命令(此过程也是相当滴漫长):

./bin/build

构建成功后进入target目录的uberjar文件夹中
在这里插入图片描述
metabase.jar就是打包后的项目了
将此jar包运行

java -jar metabase.jar

下图状态便是运行成功:
在这里插入图片描述
如果想要运行的同时要对linux进行其他操作,请参考我这篇文章:linux jar包后台运行

2,访问

输入ip+:3000(端口号)即可访问,下边是我注册后的局部页面
在这里插入图片描述

3,metabase使用教程

下边是我的另一篇文章:metabase使用教程

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论
Metabase 是一个开源的数据分析和可视化工具,它使用 Clojure 语言开发。下面是 Metabase 的典型项目结构: 1. 根目录:Metabase 项目的根目录包含了一些重要的文件和目录,例如构建配置文件(如 `project.clj`),源代码文件(如 `src` 目录),以及其他用于构建和管理项目的文件。 2. `src` 目录:这个目录包含了 Metabase 的源代码,用于实现核心的功能和逻辑。在这个目录下,你可以找到多个命名空间(namespaces),每个命名空间对应着不同的功能模块或组件。例如,`metabase.core` 命名空间是 Metabase 的核心模块,处理主要的请求和响应逻辑。 3. `resources` 目录:这个目录包含了一些静态资源文件,例如图标、样式表、配置文件等。这些资源文件在 Metabase 运行时被加载和使用。 4. `plugins` 目录:Metabase 支持插件扩展机制,这个目录用于存放插件相关的文件。每个插件通常都会有自己的目录,在目录中包含必要的代码、资源和配置文件。 5. `migrations` 目录:Metabase 使用数据库迁移工具进行数据库结构的版本管理。这个目录包含了数据库迁移脚本文件,用于升级和管理数据库结构的变化。 6. `test` 目录:这个目录包含了 Metabase 的测试代码,用于进行单元测试、集成测试等各种测试。 此外,Metabase 还可能包含其他目录和文件,用于构建、部署和管理项目。具体的项目结构可能因不同的版本和个性化配置而有所差别。 这是一个简单的 Metabase 项目结构示例,具体的结构可能因不同的版本和个性化配置而有所差别。如果你希望详细了解特定版本的 Metabase 项目结构,建议查阅官方文档或浏览 Metabase 的代码仓库。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jarbein

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值