问题集锦 - smile0821/learngit GitHub Wiki
修改nginx对http请求数据大小限制
client_max_body_size 1000m; nginx -s reload
springboot附件上传超限org.apache.tomcat.util.http.fileupload.FileUploadBase$FileSizeLimitExceededException
application.properties中修改 spring.servlet.multipart.enabled=true spring.servlet.multipart.maxFileSize=100MB spring.servlet.multipart.maxRequestSize=100MB https://blog.csdn.net/weixin_38306434/article/details/89633328 Spring Boot 1.3 版本:multipart.maxFileSize Spring Boot 1.4 版本和 1.5 版本:spring.http.multipart.maxFileSize Spring Boot 2.0 版本:spring.servlet.multipart.maxFileSize tomcat 的 maxPostSize吧(默认2M,修改为-1即可,tomcat8之后,0不行了)
Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext
1>问题描述: 用Tomcat启动一个Maven项目时,启动不起来,报错如下:
03-Dec-2019 20:32:21.358 严重 [localhost-startStop-1] org.apache.catalina.core.ContainerBase.addChildInternal ContainerBase.addChild: start:
org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/fendo-SSM]]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:162)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:753)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:729)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:717)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1129)
at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1871)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:748)
Caused by: org.apache.catalina.LifecycleException: Failed to start component [org.apache.catalina.webresources.StandardRoot@7822458a]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:162)
at org.apache.catalina.core.StandardContext.resourcesStart(StandardContext.java:4969)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5099)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
... 10 more
Caused by: org.apache.catalina.LifecycleException: Failed to initialize component [org.apache.catalina.webresources.JarResourceSet@58b14405]
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:107)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:135)
at org.apache.catalina.webresources.StandardRoot.startInternal(StandardRoot.java:707)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
... 13 more
Caused by: java.lang.IllegalArgumentException: java.util.zip.ZipException: invalid LOC header (bad signature)
at org.apache.catalina.webresources.AbstractSingleArchiveResourceSet.initInternal(AbstractSingleArchiveResourceSet.java:113)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
... 16 more
Caused by: java.util.zip.ZipException: invalid LOC header (bad signature)
at java.util.zip.ZipFile.read(Native Method)
at java.util.zip.ZipFile.access$1400(ZipFile.java:60)
at java.util.zip.ZipFile$ZipFileInputStream.read(ZipFile.java:717)
at java.util.zip.ZipFile$ZipFileInflaterInputStream.fill(ZipFile.java:419)
at java.util.zip.InflaterInputStream.read(InflaterInputStream.java:158)
at sun.misc.IOUtils.readFully(IOUtils.java:65)
at java.util.jar.JarFile.getBytes(JarFile.java:425)
at java.util.jar.JarFile.getManifestFromReference(JarFile.java:193)
at java.util.jar.JarFile.getManifest(JarFile.java:180)
at org.apache.catalina.webresources.AbstractSingleArchiveResourceSet.initInternal(AbstractSingleArchiveResourceSet.java:111)
... 17 more
开始一直关注 “Failed to start component ”这个错误,网上找了很多方法,都不行,后来看到还有一个错误是“java.util.zip.ZipException: invalid LOC header (bad signature)”,然后从这里入手,发现是mvn下载的jar包邮问题导致的,下面给出解决办法 2>解决方法 右键项目->Run as-> Maven test, 这里一定要注意:不要看到控制台打印出BUILD SUCCESS就认为是没问题的,要仔细看控制台的信息,如果出现 [WARNING] 读取C:\Users\PC.m2\repository\org\springframework\spring-jdbc\4.3.12.RELEASE\spring-jdbc-4.3.12.RELEASE.jar时出错; invalid LOC header (bad signature) [WARNING] 读取C:\Users\PC.m2\repository\org\springframework\spring-aspects\4.3.12.RELEASE\spring-aspects-4.3.12.RELEASE.jar时出错; invalid LOC header (bad signature) [WARNING] 读取C:\Users\PC.m2\repository\javax\servlet\jstl\1.2\jstl-1.2.jar时出错; invalid LOC header (bad signature) 类似于如上的信息,就找到本地maven仓库的地址把出错的jar包删除掉,然后重新maven update一下,重新下载jar包,再启动就没问题了
Multiple markers at this line
- The type javax.servlet.ServletContext cannot be resolved. It is indirectly referenced from required .class files
- The type javax.servlet.ServletException cannot be resolved. It is indirectly referenced from required .class files
严重: Unable to process Jar entry [module-info.class] from Jar [jar:file:/D:/Eclipse/eclipse8/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp4/wtpwebapps/NPTopoService/WEB-INF/lib/classmate-1.5.0.jar!/] for annotations
用好压打开该jar包,发现module-info.class用记事本打开后可以看到其内容,而且在实际项目中,module-info.java经常用来处理模块之间的依赖关系等,此处module-info.class博主选择直接删除,再次 tomcat7:run,成功
git下载代码报错问题
打开eclipse中的windows-->Preferences-->Team-->Git-->Configuration-->User Settings.然后点Add Entry新建一个键值对,输入http.sslVerify=false
java.lang.OutOfMemoryError: Java heap space Heap size
一、java.lang.OutOfMemoryError: PermGen space PermGen space的全称是Permanent Generation space,是指内存的永久保存区域, 这块内存主要是被JVM存放Class和Meta信息的,Class在被Loader时就会被放到PermGen space中, 它和存放类实例(Instance)的Heap区域不同,GC(Garbage Collection)不会在主程序运行期对 PermGen space进行清理,所以如果你的应用中有很多CLASS的话,就很可能出现PermGen space错误, 这种错误常见在web服务器对JSP进行pre compile的时候。如果你的WEB APP下都用了大量的第三方jar, 其大小超过了jvm默认的大小(4M)那么就会产生此错误信息了。 解决方法: 手动设置MaxPermSize大小修改TOMCAT_HOME/bin/catalina.sh 在“echo "Using CATALINA_BASE: $CATALINA_BASE"”上面加入以下行: JAVA_OPTS="-server -XX:PermSize=64M -XX:MaxPermSize=128m 建议:将相同的第三方jar文件移置到tomcat/shared/lib目录下,这样可以达到减少jar 文档重复占用内存的目的。 二、java.lang.OutOfMemoryError: Java heap space Heap size 设置 JVM堆的设置是指java程序运行过程中JVM可以调配使用的内存空间的设置.JVM在启动的时候会自动设置Heap size的值,其初始空间(即-Xms)是物理内存的1/64,最大空间(-Xmx)是物理内存的1/4。可以利用JVM提供的-Xmn -Xms -Xmx等选项可进行设置。Heap size 的大小是Young Generation 和Tenured Generaion 之和。提示:在JVM中如果98%的时间是用于GC且可用的Heap size 不足2%的时候将抛出此异常信息。提示:Heap Size 最大不要超过可用物理内存的80%,一般的要将-Xms和-Xmx选项设置为相同,而-Xmn为1/4的-Xmx值。 解决方法:手动设置Heap size 修改TOMCAT_HOME/bin/catalina.sh 在“echo "Using CATALINA_BASE: $CATALINA_BASE"”上面加入以下行: JAVA_OPTS="-server -Xms800m -Xmx800m -XX:MaxNewSize=256m" 三、实例,以下给出1G内存环境下java jvm 的参数设置参考: JAVA_OPTS="-server -Xms800m -Xmx800m -XX:PermSize=64M -XX:MaxNewSize=256m -XX:MaxPermSize=128m -Djava.awt.headless=true "
java如何获取文件的大小
public static String getPrintSize(long size) { // 如果字节数少于1024,则直接以B为单位,否则先除于1024,后3位因太少无意义 if (size < 1024) { return String.valueOf(size) + "B"; } else { size = size / 1024; } // 如果原字节数除于1024之后,少于1024,则可以直接以KB作为单位 // 因为还没有到达要使用另一个单位的时候 // 接下去以此类推 if (size < 1024) { return String.valueOf(size) + "KB"; } else { size = size / 1024; } if (size < 1024) { // 因为如果以MB为单位的话,要保留最后1位小数, // 因此,把此数乘以100之后再取余 size = size * 100; return String.valueOf((size / 100)) + "." + String.valueOf((size % 100)) + "MB"; } else { // 否则如果要以GB为单位的,先除于1024再作同样的处理 size = size * 100 / 1024; return String.valueOf((size / 100)) + "." + String.valueOf((size % 100)) + "GB"; } } public class TestFile {
public static void main(String[] args) { File file=new File("E:/smzjmcb.dmp"); String name = file.getName(); System.out.println(name); long length = file.length(); System.out.println(length); String printSize = Utils.getPrintSize(length); System.out.println(printSize); } }
数字转字符串
String.format("%010d", 25); //25为int型 0代表前面要补的字符 10代表字符串长度 d表示参数为整数类型
hibernate在数据库生成hibernate_sequence表问题
@GeneratedValue(strategy = GenerationType.AUTO)主键增长方式由数据库自动选择,当数据库选择sequence方式时,出现如上错误。 @GeneratedValue(strategy = GenerationType.IDENTITY) 要求数据库选择自增方式,oracle不支持此种方式。 @GeneratedValue(strategy = GenerationType.SEQUENCE)采用数据库提供的sequence机制生成主键。mysql不支持此种方式。 @GeneratedValue(strategy = GenerationType.TABLE)
curl命令
curl -k -v -H "Content-Type:application/json" -X GET https:// curl -k -v -H "Content-Type:application/json" -X POST --data '{"draftId":"32d71e73-41f0-4a08-8338-428d79f0e537","solutionId":"8246","solutionCode":"SOLN000025","draftName":"Draft","userId":"hWX433077"}' "https://10.128.246.122/projectmgr/v1/InsertDraftProject"