<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[shenju2011的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/shenju2011</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; shenju2011]]></copyright><item><title><![CDATA[从0开始撸一个JAR的启动脚本]]></title><link>https://blog.youkuaiyun.com/shenju2011/article/details/121604657</link><guid>https://blog.youkuaiyun.com/shenju2011/article/details/121604657</guid><author>shenju2011</author><pubDate>Thu, 09 Dec 2021 17:11:00 +0800</pubDate><description><![CDATA[1.先创建一个脚本文件； deploy.sh


touch deploy.sh

2.打开这个脚本：vim deploy.sh

在脚本首行定义Shell 脚本


#!/bin/bash


]]></description><category></category></item><item><title><![CDATA[Maven打包报错Unknown lifecycle phase “mvn“. You must specify a valid lifecycle]]></title><link>https://blog.youkuaiyun.com/shenju2011/article/details/121529540</link><guid>https://blog.youkuaiyun.com/shenju2011/article/details/121529540</guid><author>shenju2011</author><pubDate>Mon, 29 Nov 2021 09:39:22 +0800</pubDate><description><![CDATA[今天小伙伴问我，他的Idea打包，怎么都打不成功。一只报错：




Unknown lifecycle phase "mvn". You must specify a valid lifecycle phase or a 

看了他的项目README文件打包命令：



然后他就在Idea 中全复制过来了：



之后就是启动打包，一只报错：Unknown lifecycle phase "mvn". You must specify a valid lifecycle phase or a ......]]></description><category></category></item><item><title><![CDATA[不小心写了个BUG，成功让项目组几个人都换了台新电脑]]></title><link>https://blog.youkuaiyun.com/shenju2011/article/details/119411913</link><guid>https://blog.youkuaiyun.com/shenju2011/article/details/119411913</guid><author>shenju2011</author><pubDate>Thu, 05 Aug 2021 11:30:50 +0800</pubDate><description><![CDATA[背景： 项目组接一个老项目，做二次开发工作。

起因：客户经常收到服务器的监控告警，磁盘将在不久被写满。

开始，我们自己去手动清理程序日志，但是磁盘还是越来越大；

后来，又去排查有没有其他文件占用磁盘，于是发现，程序中操作临时文件，在操作后都没删除掉

结果：最后写了定时任务，每天夜里来删除这些临时文件。

影响：再后来，就有小伙伴发现自己的D盘文件都没了，像是被格式化一样，莫名D盘就没了。因为电脑有点老了，就开始怀疑自己电脑出问题了，于是几个人陆陆续续都新买了电脑。可是后来，接着又发生了几次，实在诡异]]></description><category></category></item><item><title><![CDATA[阿里代码格式化规范Eclipse code formatter ，修改XML设置自动换行宽度，避免过度换行]]></title><link>https://blog.youkuaiyun.com/shenju2011/article/details/119345524</link><guid>https://blog.youkuaiyun.com/shenju2011/article/details/119345524</guid><author>shenju2011</author><pubDate>Tue, 03 Aug 2021 11:37:07 +0800</pubDate><description><![CDATA[项目组开始使用阿里的 Eclipse code formatter。

说实话 ，Idea 配上 Eclipse code formatter + Save Action 两个插件，真的很好用，写完代码不用管格式，直接 ctrl + S ，直接格式化。


Eclipse code formatter：是阿里为代码格式化规范用的插件，配上格式化样式eclipse-codestyle.xml，来使代码格式化。





Save Action：也是一个Idea 一个插件，就是你再编写完，按Ctrl + S .]]></description><category></category></item><item><title><![CDATA[Jfinal实体类添加不属于表字段的属性，解决 The attribute name does not exist: xxx异常]]></title><link>https://blog.youkuaiyun.com/shenju2011/article/details/118931803</link><guid>https://blog.youkuaiyun.com/shenju2011/article/details/118931803</guid><author>shenju2011</author><pubDate>Tue, 20 Jul 2021 12:37:38 +0800</pubDate><description><![CDATA[异常信息：com.jfinal.plugin.activerecord.ActiveRecordException: The attribute name does not exist: XXX



背景：在Jfinal框架中，实体类JavaBean需要和数据库表的字段绑定，使用注解@Table(tableName = "tableName", primaryKey = "OL_NBR")，来绑定数据库表，和主键。不需要写列字段属性，直接写setter，getter方法，其中set，get中字段对应表中.]]></description><category></category></item><item><title><![CDATA[系统更换数据库oracle到mysql问题汇总]]></title><link>https://blog.youkuaiyun.com/shenju2011/article/details/116116240</link><guid>https://blog.youkuaiyun.com/shenju2011/article/details/116116240</guid><author>shenju2011</author><pubDate>Sun, 25 Apr 2021 09:05:55 +0800</pubDate><description><![CDATA[1.问题：异常

com.jfinal.plugin.activerecord.ActiveRecordException: java.sql.SQLException: UDAL - Illegal sql statement: explain total rows is more than 10000 or number of rows from single dn is bigger than 5, affected rows is more than expected,{1}

---待解决

..]]></description><category></category></item><item><title><![CDATA[Docker 移植镜像到另一台机器，启动运行容器后，文件丢失（已解决）]]></title><link>https://blog.youkuaiyun.com/shenju2011/article/details/114699157</link><guid>https://blog.youkuaiyun.com/shenju2011/article/details/114699157</guid><author>shenju2011</author><pubDate>Fri, 12 Mar 2021 16:19:48 +0800</pubDate><description><![CDATA[目标：

在阿里云通过docker-compose up 启动的的服务，现在将 webdkp-master_webserver 这个镜像移动到另一台服务器（未联网）启动运行。




镜像：webdkp-master_webserver  latest       dca05b20a30a    11 hours ago    746MB

容器 ：7f1893d2ece9    webdkp-master_webserver  "/usr/sbin/apach...]]></description><category></category></item><item><title><![CDATA[MacBook用parallels 安装centos7 root密码问题]]></title><link>https://blog.youkuaiyun.com/shenju2011/article/details/114666449</link><guid>https://blog.youkuaiyun.com/shenju2011/article/details/114666449</guid><author>shenju2011</author><pubDate>Thu, 11 Mar 2021 14:54:12 +0800</pubDate><description><![CDATA[1、parallels desktop下载的centos7 默认用户名是parallels 密码是需要自行设置，软件没有自动设置并且密码必须大于8位；

2、parallels desktop下载的centos7 默认用户名root的密码没有设置的地方，需要在安装完成以后手工激活root用户后进行设置并且密码必须大于8位；

3、设置的方法如下：在命令行界面下，或者在终端中输入如下命令：


...]]></description><category></category></item><item><title><![CDATA[Java中String, StringBuffer,StringBuilder的区别]]></title><link>https://blog.youkuaiyun.com/shenju2011/article/details/110367823</link><guid>https://blog.youkuaiyun.com/shenju2011/article/details/110367823</guid><author>shenju2011</author><pubDate>Mon, 30 Nov 2020 09:44:14 +0800</pubDate><description><![CDATA[java中String、StringBuffer、StringBuilder是编程中经常使用的字符串类，他们之间的区别也是经常在面试中会问到的问题。现在总结一下，看看他们的不同与相同。


1.可变与不可变 

String类中使用字符数组保存字符串，如下就是，因为有“final”修饰符，所以可以知道string对象是不可变的。


private final char value[]; 

String 为不可变对象,一旦被创建,就不能修改它的值。对于已经存在的String对象的修改都是重新创建一个新的.]]></description><category></category></item><item><title><![CDATA[Java文件下载，提供前端页面下载、HttpClient接口下载]]></title><link>https://blog.youkuaiyun.com/shenju2011/article/details/109547739</link><guid>https://blog.youkuaiyun.com/shenju2011/article/details/109547739</guid><author>shenju2011</author><pubDate>Sat, 07 Nov 2020 16:54:27 +0800</pubDate><description><![CDATA[学习Java的文件上传/下载需要先明白一下几点：

1、下载的资源，有两种：


1）、本地文件：即项目运行时可访问的文件目录，比如，在本机Idea中运行一个 fileServer，那么fileServer 可访问的你电脑目录下文件做为下载资源；或者 fileServer 在服务器上运行，就是服务器上可访问的目录下文件资源。

2）、远程文件：fileServer 运行的网络环境中 可访问的 Ftp/SFtp或其他服务接口中获取的文件字节码，I/O流等。


2、下载方式： 就是谁来获取这些“下载文件”，.]]></description><category></category></item><item><title><![CDATA[从SpringMvc中的登陆拦截到SpringBoot的登陆拦截]]></title><link>https://blog.youkuaiyun.com/shenju2011/article/details/109254970</link><guid>https://blog.youkuaiyun.com/shenju2011/article/details/109254970</guid><author>shenju2011</author><pubDate>Sat, 24 Oct 2020 10:39:53 +0800</pubDate><description><![CDATA[一、SpringMVC

1、创建 登陆拦截类 AuthFilter 继承 Filter， 重写 doFilter 方法。


package com.web.util;

import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java..]]></description><category></category></item><item><title><![CDATA[CentOS7上安装Docker，并在Docker运行一个SpringBoot项目]]></title><link>https://blog.youkuaiyun.com/shenju2011/article/details/108051628</link><guid>https://blog.youkuaiyun.com/shenju2011/article/details/108051628</guid><author>shenju2011</author><pubDate>Mon, 17 Aug 2020 11:40:46 +0800</pubDate><description><![CDATA[安装前可以参看官方文档获取最新的Docker支持情况，官方文档在这里：

https://docs.docker.com/engine/install/




一、安装Docker

我是虚拟机装的Centos7，linux 3.10 内核，docker官方说至少3.8以上，建议3.10以上（ubuntu下要linux内核3.8以上，RHEL/Centos的内核修补过，centos6.5的版本就可以——这个可以试试）

1，root账户登录，查看内核版本如下


[root@localhost...]]></description><category></category></item><item><title><![CDATA[微服务框架中修改前端项目的部署方式Jar改成war+tomcat，给前端开发随时在服务器随时修改、调试]]></title><link>https://blog.youkuaiyun.com/shenju2011/article/details/108018017</link><guid>https://blog.youkuaiyun.com/shenju2011/article/details/108018017</guid><author>shenju2011</author><pubDate>Sat, 15 Aug 2020 10:07:13 +0800</pubDate><description><![CDATA[场景：现有一个项目微服务框架，其中包含一个注册中心：eureka-server.jar ，一个后台服务： xx-server.jar , 一个前段服务： xx-portal.jar

问题：一个前端妹子找到我，给我说：他是做前端，他不想在他电脑运行源码（idea运行整个SpringCoud），而服务器上的前端服务启动的是一个Jar，他的H5页面修改完无法在服务上调试。我说，那你使用Fiddler可以本机调试呀， 但是他又说：PC的可以，可是移动端的问题怎么使用Fiddler调试？我想了想，也是。看她渴望的.]]></description><category></category></item><item><title><![CDATA[数组的复制，数组复制的三种方式]]></title><link>https://blog.youkuaiyun.com/shenju2011/article/details/107778876</link><guid>https://blog.youkuaiyun.com/shenju2011/article/details/107778876</guid><author>shenju2011</author><pubDate>Tue, 04 Aug 2020 09:57:06 +0800</pubDate><description><![CDATA[一、数组复制的三种方式


        String[] a = {"1", "2", "3", "4", "5"};

        // 方法一
        // Arrays.copyOf()
        String[] b = Arrays.copyOf(a, a.length);
        System.out.println("Arrays.copyOf(): " + Arrays.toString(b));

        // 方法二
        // Objec]]></description><category></category></item><item><title><![CDATA[Java对象的持久化，将对象入库保存以及取出转换成对象实例]]></title><link>https://blog.youkuaiyun.com/shenju2011/article/details/107553073</link><guid>https://blog.youkuaiyun.com/shenju2011/article/details/107553073</guid><author>shenju2011</author><pubDate>Fri, 24 Jul 2020 11:13:41 +0800</pubDate><description><![CDATA[一、对于一个简单的实体类而言，比如学生类，商品类，订单类等，他们的属性只包含简单类型属性，我们通常的做法是直接入库保存各个字段或直接保存一个JsonString字符串，取出时直接查询转换即可。

1）比如查询出用户信息：


public User getUser(String userId, String password) {
        try {
            final Object[] obj = new Object[]{userId, password};
          ]]></description><category></category></item><item><title><![CDATA[Java后台连接服务器执行Linux命令]]></title><link>https://blog.youkuaiyun.com/shenju2011/article/details/107462054</link><guid>https://blog.youkuaiyun.com/shenju2011/article/details/107462054</guid><author>shenju2011</author><pubDate>Mon, 20 Jul 2020 14:04:20 +0800</pubDate><description><![CDATA[一、命令执行工具类

ShellUtil.java


package com.web.util;

import com.jcraft.jsch.*;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.*;
import java.util.concurrent.ExecutorService;
import java.util.co.]]></description><category></category></item><item><title><![CDATA[Java操作FTP报错MalformedServerReplyException: Could not parse response code. Server Reply: SSH-2.0-OpenS]]></title><link>https://blog.youkuaiyun.com/shenju2011/article/details/106614717</link><guid>https://blog.youkuaiyun.com/shenju2011/article/details/106614717</guid><author>shenju2011</author><pubDate>Mon, 08 Jun 2020 11:49:15 +0800</pubDate><description><![CDATA[解决：MalformedServerReplyException: Could not parse response code. Server Reply: SSH-2.0-OpenSSH 异常。

场景：


Java后台使用org.apache.commons.net.ftp.FTPClient 连接服务器，进行FTP操作 ：上传/下载文件。


异常：


org.apache.commons.net.MalformedServerReplyException: Could not parse res]]></description><category></category></item><item><title><![CDATA[Idea每次关闭都生成 intellij-soapui-workspace.xml ，soapui-settings.xml两个文件]]></title><link>https://blog.youkuaiyun.com/shenju2011/article/details/106497520</link><guid>https://blog.youkuaiyun.com/shenju2011/article/details/106497520</guid><author>shenju2011</author><pubDate>Tue, 02 Jun 2020 15:54:31 +0800</pubDate><description><![CDATA[每次关闭 IntelliJ Idea 都会在 mac的用户目录下生成两个下 intellij-soapui-workspace.xml ，soapui-settings.xml 两个XML的配置文件，看着就烦。删除之后，下次关闭又会生成，特顽固。


]]></description><category></category></item><item><title><![CDATA[Linux那些常用的命令，每天学一个，不要每次都去百度了]]></title><link>https://blog.youkuaiyun.com/shenju2011/article/details/106438809</link><guid>https://blog.youkuaiyun.com/shenju2011/article/details/106438809</guid><author>shenju2011</author><pubDate>Sat, 30 May 2020 11:35:55 +0800</pubDate><description><![CDATA[用户&amp;用户组

创建用户：useradd user1
	删除用户：userdel -r user1 删除一个用户 ( '-r' 排除主目录)
	修改用户密码：passwd user1 修改一个用户的口令 (只允许root执行)
	创建一个新用户组 ：groupadd group_name
	删除一个用户组：groupdel group_name
	重命名一个用户组：groupmod -n new_group_name old_group_name
	将用户加入指定用户组：usermod -a -G ]]></description><category></category></item><item><title><![CDATA[SpringBoot获取application配置文件中参数的三种方式]]></title><link>https://blog.youkuaiyun.com/shenju2011/article/details/106410116</link><guid>https://blog.youkuaiyun.com/shenju2011/article/details/106410116</guid><author>shenju2011</author><pubDate>Thu, 28 May 2020 17:50:31 +0800</pubDate><description><![CDATA[方式一：使用@Value方式


 @RestController  
 public class WebController {  
       @Value("${test.msg}")  
        private String msg;       

    @RequestMapping("/index1")   

    public String index1(){  

        return "方式一:"+msg;  

    } 

}

方式二：使用Environm]]></description><category></category></item></channel></rss>