离线编译maven项目

本文介绍如何在离线状况下编译maven项目。

假设项目分布为:

D->Code ->project ->pom.xml:项目位置

|->Maven ->conf ->settings.xml:maven配置文件的位置

|->repository:存放依赖的位置

命令行编译

先配置maven的配置文件:

<!--settings.xml-->

<?xml version="1.0" encoding="UTF-8"?>

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
 
  <localRepository>D:\repository</localRepository>
  
  <offline>true</offline>

</settings>


localRepository设置本地仓库位置,offline设置离线模式。

然后在命令行中打开项目的位置,即pom.xml文件所在的位置下,使用命令编译项目:

$ mvn clean package -s "D:/Maven/conf/settings.xml"

-s设置maven配置文件的位置。

修复进入grub rescue的问题

重装window后,突然就进去不了linux系统,在命令行窗口下提示

error :file '/boot/grub/x86_64-efi/normal.mod' not found

%E4%BF%AE%E5%A4%8D%E8%BF%9B%E5%85%A5grub%20rescue%E7%9A%84%E9%97%AE%E9%A2%98%2011bbc9f7d5d64a24b0ab2176cb0f373c/IMG_20210320_160256.jpg

解决办法:

# 列出所有磁盘
> ls
> (hd0,gpt1) (hd0,gpt2)
# 一个一个查看磁盘里面的内容,找到grub所在位置,如果有提示/boot,/grub,即很有可能便是grub的位置
> ls (hd0,gpt2)/
> ./ ../ boot/ dev/ 
# 设置为启动分区
> set prefix=(hd0,gpt2)/boot/grub
> set root=hd0,gpt5
> insmod normal
> normal

之后便会重启系统

进入到系统之后,重新安装grub

# 查看/boot/efi的挂载点
> df
# 安装grub
> sudo grub-install /dev/sda1

物理机访问虚拟机内的web服务器

  1. 更改虚拟机的网络模式为桥接模式

    /media/物理机访问虚拟机内的web服务器/Untitled.png

  2. 关闭防火墙

    service iptables stop
    
  3. 重启虚拟机,使用命令查看当前ip

    ifconfig
    

    使用该ip在物理机访问即可访问到虚拟机的web服务。

启动容器失败

报错:ERROR: for mysql Cannot create container for service mysql: Conflict. The container name “/mysql” is already in use by container “2f6a654382410c6f381e6a03b8be39f0eeb87becd17d4d0117859f4c23e5681b”. You have to remove (or rename) that container to be able to reuse that name.

/media启动容器失败/Snipaste_2021-03-08_10-18-49.png

解决:

因为之前强行停止的容器没有完全停止及清理,所以要对之前启动的容器进行清理及完全停止:

docker rm -f $(docker ps -a -q)

重启docker:

sudo service docker restart