springboot 1.5.7 eplise debug 自己的笔记

不知道为什么,工程在eplise,IDEA,里都无法启动DEBUG模式,在POM里有加

                          -        
     agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=y 

但是在启动的时候,就像和你开玩笑一样,8000也好,换成5005,就是看不到那串熟悉的开启远程调试端口的提示。这倒底是什么原因,我还不并清楚。但是DEBUG总要开的吧。只能用如下办法。

因为我要用ORACLE,顺便记一下,做为笔记

MAVEN大家都知道,无法管理ORACLE,所以需要自己加入本地库中

mvn install:install-file -Dfile=E:\workspace\Megatron\src\main\lib\hjm.jar -DgroupId=com.hjm -DartifactId=hjm -Dversion=10.2.0.1.0 -Dpackaging=jar 

完成之后有提示的,有文化的人都看的懂。去本地库里按它的路径查一下,看看是不是建好了文件和包还有配置文件。接下来在你的工程的POM文件中写入


		
			com.hjm
			hjm
			10.2.0.1.0
		

绝逼大概率会报错的,报Maven-Missing artifact,不要紧,工程右键----MAVEN-----UPDATE PROJECT,记得把OFFLINE勾上。

然后再mvn install一下,一切正常可以产生JAR包就行了。

 

接下来用命令行:

java -Xdebug -Xrunjdwp:transport=dt_socket,address=5005,server=y,suspend=y -jar E:\workspace\Megatron\target\Megatron-1.0-SNAPSHOT.jar

 

springboot 1.5.7 eplise debug 自己的笔记_第1张图片

 

卡在这里对了。

在ecplise里去建一个:

springboot 1.5.7 eplise debug 自己的笔记_第2张图片

再点一下DEBUG按扭,就可以在CMD里看到SPRINGBOOT运行的信息了。

运行起来就可以跑了,你可以正常去打断点,注意,一开始可能会弹出报错,不会管它,确定过去就可以了。

不得不再补一下,运行了一段时间以后,发现这样做也有做问题,先不说要在CMD里看输出,虽然个人觉得也比较酷,但有两个奇怪的问题,第一是报错显示的不太对劲,和SPRINGGOOT启动报的错不一样,比较缺少SQL。第二个是在执行数据库操作时的速度特别慢。还有一个问题是,热布署根本没有用处,每次想要执行都要先退出,再发布JAR,再启动。于是我又想办法看能不能解决这些问题。

我又尝试了

mvn spring-boot:run -Drun.jvmArguments="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005"

再使用ecplise里的Remote java Application,发现除了一开始的启动不一样,后面在远程执行之后和前面的方江也并无区别。这里要注意,MVN命令一定要在有POM的地方才可以执行,一开始没有注意这点。

 

于是我想到可以在ECPLISE里的Java Application里添加

-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005

,然后用先在ECPLISE里把Application先执行起来。

springboot 1.5.7 eplise debug 自己的笔记_第3张图片

跑出来了Listening for transport dt_socket at address: 5005 就卡住了。这就对了,这就是我的要结果。

然后再用

springboot 1.5.7 eplise debug 自己的笔记_第4张图片

SPRINGBOOT就可以在5005先启动的情况下,成功运行起来了!

又可以正常在eclipse下DEBUG了!SQL可以正常打印,运行速度也快。

总结,等于就是用加参数的方式替代POM里的参数。

你可能感兴趣的:(springboot)