使用maven编译一个java项目JPress全过程

1、获取JPress源码

Press是一个开源的CMS系统,JPress源码地址:https://gitee.com/JPressProjects/jpress,如下图可以选择:1、直接下载 zip 包 然后再本地解压即可

2、复制链接 使用 git 拉取源码(推荐)

2、源码编译jpress

我在之前的操作中已经完成了服务器的Maven 环境,和 JDk 环境

然后我的源码包是jpress-v5.1.2.tar.gz

接下来就是下面的操作就行了

tar zxvf jpress-v5.1.2.tar.gz

cd jpress-v5.1.2/
mvn clean package

如下图:然后等待编译完成

在编译过程中,我碰到了图中的问题:卡在了jaackson-core的这个地方,查询资料后,说让我最好改成国内镜像源

在Maven安装目录的 conf/ 下有一个settings.xml的文件,在这里面添加如下内容:(要加到<mirrors>这里面)

<mirror>
<id>aliyunmaven</id>
<mirrorOf>*</mirrorOf>
<name>阿里云公共仓库</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>

然后再重新执行mvn clean package #如下图,成功了

编译完成后,在jpress当前目录找到starter/target/子目录,会发现有类似starter-5.0.jar和starter-5.0.zip包,这就是编译完成后的压缩包。 如下图:

3.部署并运行jpress

[root@localhost target]# mkdir -p /data/jpress #创建一个目录
[root@localhost target]# cp starter-5.0.zip /data/jpress/ #把这个zip复制过去
[root@localhost target]# cd /data/jpress/ #进入这个目录
[root@localhost jpress]# ls #查看验证一下
starter-5.0.zip
[root@localhost jpress]# unzip starter-5.0.zip #解压

rm -rf starter-5.0.zip #然后删除

v然后修改脚本jpress.sh 设置成下图的样子

然后下图中,把第一个注释掉,然后第三个打开,如下图

[root@localhost jpress]# ./jpress.sh start
[root@localhost jpress]# nohup: 重定向标准错误到标准输出

[root@localhost jpress]# ls
config jpress.bat jpress.sh jpress-start.bat jpress-stop.bat lib output.log webapp

然后tail -f output.log #查看日志 如下图,让我用下面的方式访问

4.安装mysql数据库(补充内容,我之前已经安装好了)

这里我用的是mysql-8.4.3-linux-glibc2.28-x86_64.tar.xz

tar xvf mysql-8.4.3-linux-glibc2.28-x86_64.tar.xz -C /usr/local #先解压缩

cd /usr/local/ #进入安装的目录

mv mysql-8.4.3-linux-glibc2.28-x86_64 mysql #改名

mkdir /usr/local/mysql/data
mkdir /usr/local/mysql/etc
mkdir /usr/local/mysql/logs #创建几个重要的目录
useradd -r -s /sbin/nologin mysql#添加用户MySQL

然后,创建一个mysql配置文件,继续执行如下操作

vim /usr/local/mysql/etc/my.cnf
[mysqld]
datadir=/usr/local/mysql/data   #数据存储位置
socket=/tmp/mysql.sock   #Socket 文件路径,用于本地进程间通信
log-error=/usr/local/mysql/logs/mysqld.log  # 错误日志文件路径
pid-file=/usr/local/mysql/logs/mysqld.pid  #进程 ID 文件

接着,给mysql授权,并执行初始化操作:


chown -R mysql:mysql /usr/local/mysql
cd /usr/local/mysql
bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data #创建服务器程序,初始化模式,以 mysql 用户身份运行,基础目录和数据目录
rm -rf /etc/my.cnf #把系统的my.cof删除,以免影响我的配置文件

接着,再写一个mysql服务管理脚本/etc/systemd/system/mysqld.service,内容如下:

[Unit]
Description=MySQL Server
After=network.target

[Service]
User=mysql
Group=mysql
ExecStart=/usr/local/mysql/bin/mysqld_safe --defaults-file=/usr/local/mysql/etc/my.cnf #指定启动文件
ExecReload=/bin/kill -HUP $MAINPID
ExecStop=/bin/kill -TERM $MAINPID
Restart=on-failure

[Install]
WantedBy=multi-user.target

然后重载服务:

systemctl daemon-reload

然后在/usr/local/mysql/logs/mysqld.log中查找临时密码

/usr/local/mysql/bin/mysql -uroot -p #进入MySQL

然后再这里遇到了如下错误,

 /usr/local/mysql/bin/mysql -uroot -p
bin/mysql: error while loading shared libraries: libtinfo.so.5: cannot open shared object file: No such file or directory  

这里需要做一个软链接,操作如下:

[root@mysql mysql]# ln -s /usr/lib64/libtinfo.so.6 /usr/lib64/libtinfo.so.5

最后,进入sql命令行后,执行如下命令,修改root密码:

SQL> alter user 'root'@'localhost' identified by 'liao@123456';

到这里为止,mysql服务部署完成。

然后为jpress创建数据库


CREATE DATABASE jpress CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; -- 创建一个专门给WordPress用的数据库
CREATE USER 'xuan'@'localhost' IDENTIFIED BY 'xuan@123456'; -- MySQL 8.0 的正确创建用户语法
GRANT ALL PRIVILEGES ON jpress.* TO 'xuan'@'localhost'; -- 给用户分配wordpress数据库的所有权限
FLUSH PRIVILEGES; -- 刷新权限表,使配置立即生效
SELECT user, host FROM mysql.user WHERE user='xuan'; -- 查看刚创建的用户
SHOW GRANTS FOR 'xuan'@'localhost'; -- 查看用户的权限
/usr/local/mysql/bin/mysql -xuan -p

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注