java 项目迁移 需要调整的地方,和配置的地方 列表 maven eclipse 项目 jvm配置 maven配置 jdk配置 项目引入 svn跟换

219 阅读8分钟

目录

介绍

提示 maven

原因介绍:

解决步骤:

配置下边这个 global settings就好了

jdk配置

重点添加 依赖包路径

配置上这行

这里有需要配置jvm的可以配置加上这个

再加个 java -jar 启动方式

jvm做个简单介绍

这里加上G1 回收器 的jvm配置 常用参数

jdk8版本调整

配上一个  jvisualvm.exe  的 检测效果图

检测动态,堆回收情况很棒不错

再加上一个 java -jar 启动方式的jvm配置

还有时候提示这玩意项目提示个红叉 Project configuration is not up-to-date with pom.xml. Run Maven->Update Project or use Quick Fix.

解决方案

配置svn 建议

1.类是代码大,svn还用之前的

2.类是代码不大,svn不打算用之前的用新的

项目运行中观察 jvm运行情况 

采用工具jconsolse

查看gc 内存使用的是那些对象

命令:

手动直接回收gc

命令:





介绍

最近项目升级版本,将老版本的放到一起的版本留存,新大版本更新,将项目迁移到一个新的工作空间中。

好久迁移项目发现有好几个地方提示,随说知道这些提示没啥事,但还是记录下方便以后迁移使用,省的每个单独。

去搜索查询解决。

 

提示 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

 

 

 

 

 

持续更新