问题描述
-
我的spring应用程序需要对每一个Java更改进行maven构建和部署,并重新启动tomcat。有什么工具或方法可以避免这些过程来加快我的Java开发速度?
-
我们如何模拟可以在主类中使用和测试的实时Java对象?
解决方法
-
Tomcat每次更改都需要重新启动,这很正常,因为它实际上是重新部署可部署对象(WAR,JAR等)并重新发布,以确保在访问最新更改时可用。 >
-
您可以在Junit测试套件中使用模拟对象。建议不要使用主类进行测试。对于模拟,您可以使用(Mockito,Powermockito等)库。
3。不幸的是没有。调试将需要时间,但是随着您积累经验,您会变得更好。 (例如:查找导致异常的原因的一种简单方法是读取堆栈跟踪或e.printStacktrace,然后查看导致它的行)
,-
有一些技术可以使您做到这一点,但是它需要大量的精力来配置(在JVM中安装Java代理),如果您的项目非常复杂,它可能无法完美地工作。您可以看一下热重载或热插拔(this)。或者,您可以在进行tomcat之前部署到码头进行主要测试,这里有一个码头专用maven插件,您可以轻松地为其配置热重装。
-
“实时Java对象”是什么意思?您可以发表一个示例,基本上可以使用Java模拟框架进行任何模拟,但是最好使用TDD方法,否则您可能在模拟某些功能时遇到困难,例如
private method
或static method
。 -
最简单的方法是将调试器附加到正在运行的JVM。然后,您可以使用IDE进行实时调试,这基本上使您可以检查所有对象的值,因此不必继续注入
System.out.println
并重新部署项目。还有一些调试器允许您实时修改Java代码,这将间接修改您的字节码,您可以即时查看结果。