目录
介绍
最近项目升级版本,将老版本的放到一起的版本留存,新大版本更新,将项目迁移到一个新的工作空间中。
好久迁移项目发现有好几个地方提示,随说知道这些提示没啥事,但还是记录下方便以后迁移使用,省的每个单独。
去搜索查询解决。
提示 maven
Project build error: Non-resolvable parent POM: Failure to transfer org.springframework.boot:spring-boot-starter-parent:
pom:2.1.7.RELEASE from repo.maven.apache.org/maven2 was cached in the local repository, resolution will not be
reattempted until the update interval of central has elapsed or updates are forced. Original error: Could not transfer
artifact org.springframework.boot:spring-boot-starter-parent:pom:2.1.7.RELEASE from/to central (repo.maven.apache.org/maven2):
Failed to transfer repo.maven.apache.org/maven2/org/….
RELEASE/spring-boot-starter-parent-2.1.7.RELEASE.pom. Error code 501, HTTPS Required and 'parent.relativePath' points at no local POM
原因介绍:
这玩意一般是,maven 没配置,或 maven 中的jar包缺少
如果是迁移项目,肯定jar包不会少,那就是配置maven setting.xml 这玩意了
搞他
解决步骤:
eclipse 中 点击window 》preferences》
配置下边这个 global settings就好了
这玩意就是本地maven 地址
如果本地没搞maven 用系统的也区别没多大,就是下载一大堆,自行选择
jdk配置
这玩意往上资料多久自行查询即可下一步add 添加即可
重点添加 依赖包路径
配置上这行
-Dmaven.multiModuleProjectDirectory=$M2_HOME
这里有需要配置jvm的可以配置加上这个
-Dmaven.multiModuleProjectDirectory=$M2_HOME -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=128m -Xms2048m -Xmx2048m -Xmn256m -Xss256k -XX:SurvivorRatio=8 -XX:+UseConcMarkSweepGC
再加个 java -jar 启动方式
$ java -jar -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=128m -Xms1024m -Xmx1024m -Xmn256m -Xss256k -XX:SurvivorRatio=8 -XX:+UseConcMarkSweepGC xxx_portal-1.0.0.jar
jvm做个简单介绍
- -XX:MetaspaceSize=128m (元空间默认大小)
- -XX:MaxMetaspaceSize=128m (元空间最大大小)
- -Xms1024m (堆最大大小)
- -Xmx1024m (堆默认大小)
- -Xmn256m (新生代大小)
- -Xss256k (棧最大深度大小)
- -XX:SurvivorRatio=8 (新生代分区比例 8:2)
- -XX:+UseConcMarkSweepGC (指定使用的垃圾收集器,这里使用CMS收集器)
- -XX:+PrintGCDetails (打印详细的GC日志)
这里用的是CMS垃圾回收器,有需要配置别的,自行修改
这里加上G1 回收器 的jvm配置 常用参数
- 参数/默认值 含义
- -XX:+UseG1GC 使用 G1 垃圾收集器
- -XX:MaxGCPauseMillis=200 设置期望达到的最大GC停顿时间指标(JVM会尽力实现,但不保证达到)
- -XX:InitiatingHeapOccupancyPercent=45 启动并发GC周期时的堆内存占用百分比. G1之类的垃圾收集器用它来触发并发GC周期,基于整个堆的使用率,而不只是某一代内存的使用比. 值为 0 则表示”一直执行GC循环”. 默认值为 45.
- -XX:NewRatio=n 新生代与老生代(new/old generation)的大小比例(Ratio). 默认值为 2.
- -XX:SurvivorRatio=n eden/survivor 空间大小的比例(Ratio). 默认值为 8.
- -XX:MaxTenuringThreshold=n 提升年老代的最大临界值(tenuring threshold). 默认值为 15.
- -XX:ParallelGCThreads=n 设置垃圾收集器在并行阶段使用的线程数,默认值随JVM运行的平台不同而不同.
- -XX:ConcGCThreads=n 并发垃圾收集器使用的线程数量. 默认值随JVM运行的平台不同而不同.
- -XX:G1ReservePercent=n 设置堆内存保留为假天花板的总量,以降低提升失败的可能性. 默认值是 10.
- -XX:G1HeapRegionSize=n 使用G1时Java堆会被分为大小统一的的区(region)。此参数可以指定每个heap区的大小. 默认值将根据 heap size 算出最优解. 最小值为 1Mb, 最大值为 32Mb.
jdk8版本调整
- JDK8之后把-XX:PermSize 和 -XX:MaxPermGen移除了,取而代之的是
- -XX:MetaspaceSize=128m (元空间默认大小)
- -XX:MaxMetaspaceSize=128m (元空间最大大小)
- JDK 8开始把类的元数据放到本地化的堆内存(native heap)中,这一块区域就叫Metaspace,中文名叫元空间。
配上一个 jvisualvm.exe 的 检测效果图
检测动态,堆回收情况很棒不错
再加上一个 java -jar 启动方式的jvm配置
java -jar -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=128m -Xms1024m -Xmx1024m -Xmn256m -Xss256k -XX:SurvivorRatio=8 -XX:+UseConcMarkSweepGC jianghy大哥大portal-1.0.jar
还有时候提示这玩意项目提示个红叉 Project configuration is not up-to-date with pom.xml. Run Maven->Update Project or use Quick Fix.
Description Resource Path Location Type
Project configuration is not up-to-date with pom.xml. Run Maven->Update Project or use Quick Fix. super_bigdatapro line 1 Maven Configuration Problem
解决方案
这个提示一般界面项目上有个红叉,但项目没啥影响,这时候就可以,
右击项目,maven>update porject 即可
就是maven 更新下即可
配置svn 建议
1.类是代码大,svn还用之前的
- 这时候,从svn上直接下载一份即可
- 或搞个新位置,更新公司计划定,看未来更新方式和项目有没有可能还要用回去,来衡量
2.类是代码不大,svn不打算用之前的用新的
- 这时候就本地代码拷贝,然后更新初始化上传一份,建个新位置,或文件夹即可
项目运行中观察 jvm运行情况
采用工具jconsolse
查看gc 内存使用的是那些对象
命令:
- jmap histo:live pid
- 示例:jmap histo:live 27948
手动直接回收gc
命令:
- jcmd pid GC.run
- 示例:jcmd 27948 GC.run
ok
持续更新