Maven package executable jar with dependencies

I found three ways to do it from stackoverflow.com

https://stackoverflow.com/questions/574594/how-can-i-create-an-executable-jar-with-dependencies-using-maven

<!– package all dependencies with app into one jar –>
    <pluginRepositories>
        <pluginRepository>
            <id>onejar-maven-plugin</id>
            <url>http://onejar-maven-plugin.googlecode.com/svn/mavenrepo</url>
        </pluginRepository>
    </pluginRepositories>

    <build>
        <plugins>
            <plugin>
                <groupId>org.dstovall</groupId>
                <artifactId>onejar-maven-plugin</artifactId>
                <version>1.4.4</version>
                <executions>
                    <execution>
                        <configuration>
                            <mainClass>org.junit.runner.JUnitCore</mainClass>
                        </configuration>
                        <goals>
                            <goal>one-jar</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

<!– package app only, copy dependencies to specified lib folder and auto-configure classpath for your jar –>
  <build>
    <plugins>
      <plugin>
         <artifactId>maven-jar-plugin</artifactId>
         <configuration>
           <archive>
             <manifest>
               <addClasspath>true</addClasspath>
               <classpathPrefix>lib/</classpathPrefix>
               <mainClass>org.junit.runner.JUnitCore</mainClass>
             </manifest>
           </archive>
         </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-dependency-plugin</artifactId>
        <version>2.1</version>
        <executions>
          <execution>
            <id>copy-dependencies</id>
            <phase>package</phase>
            <goals>
              <goal>copy-dependencies</goal>
            </goals>
            <configuration>
              <outputDirectory>${project.build.directory}/lib</outputDirectory>
              <overWriteReleases>false</overWriteReleases>
              <overWriteSnapshots>false</overWriteSnapshots>
              <overWriteIfNewer>true</overWriteIfNewer>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>

<!– all dependencies will be unpacked, then package with app together –>
<!– might have problem while dealing with duplicate folder and file (already added, skipping) –>
    <build>
      <plugins>
        <plugin>
          <artifactId>maven-assembly-plugin</artifactId>
          <configuration>
            <descriptorRefs>
              <descriptorRef>jar-with-dependencies</descriptorRef>
            </descriptorRefs>
            <archive>
              <manifest>
                <mainClass>org.junit.runner.JUnitCore</mainClass>
              </manifest>
            </archive>
          </configuration>
          <executions>
            <execution>
              <phase>package</phase>
              <goals>
                <goal>single</goal>
              </goals>
            </execution>
          </executions>
        </plugin>
      </plugins>
    </build>

微信开发

微信公众号发送客服消息提示errcode”:45015,”errmsg”:”response out of time limit or subscription is canceled hint:解决办法【已解决】

问题原因:由于长时间用户OpenId未和微信公众号做互动消息,微信公众号会停止对用户进行消息推送。

解决办法:以用户的身份随机向微信公众号对话框内输入任意文字已达到激活和微信公众号的互动,再次发送客服消息就会成功!

MySQL 5.7.26 解压版安装

step: 1 配置MySQL环境变量

配置MySQL环境变量,系统变量—>新建—->变量名为MYSQL_HOME,变量值为你的路径名

我的变量名是:C:\MySQL\mysql-5.7.26-winx64

然后更改Path环境变量,新增量为:%MYSQL_HOME%\bin

step: 2 配置MySQL my.ini文件

你解压下来的文件夹里面没有data文件夹以及my.ini文件,所以新增一个data空文件夹,以及my.ini文件。

my.ini文件内容如下

[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8 
[mysqld]
#设置3306端口
port = 3306 
# 设置mysql的安装目录
basedir=D:\mysql\mysql-5.7.26-winx64
# 设置mysql数据库的数据的存放目录
datadir=D:\mysql\mysql-5.7.26-winx64\data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 设置sql_mode
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
# max allowed packet = 255M

注意 my.ini 文件格式必须为 ANSI

step: 3 安装MySQL服务以及初始化

  • 执行安装mysql服务 mysqld install
  • 执行mysql初始化 mysqld –initialize
  • 启动mysql服务 net start mysql
  • mysql -u root -p
  • 修改默认密码 alter user root@localhost identified by ‘root’;

linux centos 6.10 操作防火墙

一、iptables防火墙
1、基本操作

# 查看防火墙状态

service iptables status  

# 停止防火墙

service iptables stop  

# 启动防火墙

service iptables start  

# 重启防火墙

service iptables restart  

# 永久关闭防火墙

chkconfig iptables off  

# 永久关闭后重启

chkconfig iptables on  

2、开启80端口

vim /etc/sysconfig/iptables
# 加入如下代码
-A INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT
保存退出后重启防火墙

service iptables restart
二、firewall防火墙
1、查看firewall服务状态

systemctl status firewalld

出现Active: active (running)切高亮显示则表示是启动状态。

出现 Active: inactive (dead)灰色表示停止,看单词也行。
2、查看firewall的状态

firewall-cmd –state
3、开启、重启、关闭、firewalld.service服务

# 开启
service firewalld start
# 重启
service firewalld restart
# 关闭
service firewalld stop
4、查看防火墙规则

firewall-cmd –list-all 
5、查询、开放、关闭端口

# 查询端口是否开放
firewall-cmd –query-port=8080/tcp
# 开放80端口
firewall-cmd –permanent –add-port=80/tcp
# 移除端口
firewall-cmd –permanent –remove-port=8080/tcp
#重启防火墙(修改配置后要重启防火墙)
firewall-cmd –reload

# 参数解释
1、firwall-cmd:是Linux提供的操作firewall的一个工具;
2、–permanent:表示设置为持久;
3、–add-port:标识添加的端口;

原文:https://blog.csdn.net/bbwangj/article/details/74502967

标签: firwal防火墙状态查看linux防火墙查看状态

linux 部署项目常用命令

  • Linux服务器里面查看Tomcat是否启动: ps -ef |grep tomcat
  • 杀死tomcat 进程 kill -9 pid eg: kill -9 7089 这里的7089 就是进程pid
  • 启动tomcat sh startup.sh
  • 关闭tomcat sh shutdown.sh
  • 查看tomcat日志输出 tail -f catalina.out
  • 查看端口占用情况 netstat -ano

tomcat启动项目方式 分为内部启动和外部挂载方式

内部启动 修改server.xml

maven 打包常见错误

[ERROR] COMPILATION ERROR :
[INFO] ————————————————————-
[ERROR] /D:/GitWorkSpace/CodeUtil/src/main/java/com/nuoyun/ui/FileReplaceUI.java:[38,24] 编码GBK的不可映射字符

[ERROR] /D:/GitWorkSpace/CodeUtil/src/main/java/com/nuoyun/ui/FileReplaceUI.java:[39,60] -source 1.5 中不支持 diamond 运算符
(请使用 -source 7 或更高版本以启用 diamond 运算符)

linux MySQL 5.7.27安装

step:1 打开官网

打开官网首页https://www.mysql.com,点击导航菜单 DOWNLOADS,找到社区版

setp:2 选择yum安装方式,点击 快速安装指导

step:3 安装rpm安装工具

rpm -ivh mysql80-community-release-el6-3.noarch.rpm

step:4

yum repolist all | grep mysql

关闭8.0版本 sudo yum-config-manager –disable mysql80-community

打开5.7版本 sudo yum-config-manager –enable mysql57-community

查看设置情况 yum repolist enabled | grep mysql

step: 5 初始化MySQL

sudo yum -y install mysql-community-server mysql-client

启动MySQL服务 sudo service mysqld start

查看MySQL状态 sudo service mysqld status

step: 6 初始化mysql密码

获取生成的随机密码 sudo grep ‘temporary password’ /var/log/mysqld.log

登录MySQL mysql -u root -p

修改密码 ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘NewPassword!’;

MySQL 8.0驱动导致所有表问题

nullCatalogMeansCurrent=true

最近在搭建Spring boot + ne4Spring的开发框架,为了方便生成Model Bean写了生成器,结果报错找不到相关的表信息,仔细check了发现当前数据库中并没有相关的表信息,第一反应是难道串表了?

  • 使用 DatabaseMetaData 中 getTables方法时疯狂报错,一路追下来发现表多到发指……

后来查询资料发现,MySQL8.0+的驱动默认返回的是用户具有权限的所有表的信息,如果只返回当先数据库的表信息,需要配置nullCatalogMeansCurrent 参数。

在连接参数加上nullCatalogMeansCurrent=true

现在又可以愉快的生成Model代码了。

git地址:https://github.com/moto72/ne4SpringBoot-pro