【发布时间】:2019-07-10 18:12:54
【问题描述】:
我最近刚刚为我的一个客户进入 Java 世界。我有 18 年的 .Net 开发经验,但 Java 方面是新的。
来自 .Net,我习惯于期望能够在 30 秒内完成代码更改、编译代码并使用附加的调试器运行它,也许 1 分钟需要完全重新编译的大型项目。
我发现我当前处理这个 Java 项目的过程需要 5 到 6 分钟。由于时间长且步骤多,我发现自己开始执行其他任务或忘记自己在做什么。
这是我目前进行更改和测试的过程:
- 修改代码
- (~200s) 在主 Maven 模块
mvn clean install上使用 Maven 重新编译代码。如果我这样做-DskipTests,我可以在这里节省大约 60 秒。 - (~5s) 停止 Wildfly 服务器
- (~5s) 将
.war文件从myproject\target\myproject.war复制到c:\wildfly\standalone\deploy\ - (~90s) 启动 Wildfly 服务器
c:\wildfly\bin\standalone.bat - 重新登录应用程序(我的会话已过期)
- 附加调试器
同样,只有每个步骤所需的时间,而且有这么多步骤以及每个步骤之间的等待时间也会让人分心 - 毕竟,谁会坐下来盯着屏幕看 3 分钟编译?无论我去做什么,我肯定不会在编译完成的那一刻回到那个屏幕。那里会浪费时间。
此外,每次我想更改单个代码时,我都会重复此过程。
有没有办法简化这个过程?即:
- 有没有办法加入其中的一些步骤
- 我可以加快 Wildfly 启动过程吗?
- 什么会加速 Maven?
- 我可以执行 .Net 中存在的“编辑并继续”之类的操作(即实时代码更改)吗?
- 有没有办法在我部署新战争时不必让 Wildfly 重新初始化?
【问题讨论】:
-
您使用 Eclipse 进行开发吗?然后您可以使用 WTP 插件在 Wildfly 上测试代码。这将快得多。
-
@JFMeier,我没有。我正在使用 VS Code 进行开发。 IMO 的界面更加友好,但我确实意识到这意味着我无法访问您所指的这个插件。
-
Java 开发主要在 Eclipse 或 IntelliJ 中完成。两者都是成熟的 IDE,对您有很大帮助。
-
您正在寻找的 .NET 体验基本上是您使用 Spring Boot 并将应用程序部署为独立 jar 时所获得的。事实上,你有一个像 Wildfly 这样的外部容器,这让事情变得复杂起来。假设您坚持使用它,我确实支持已经表达的观点:使用适当的 IDE,该 IDE 具有对 JavaEE/JakartaEE 容器的部署支持。 Visual Studio Code 是一个很棒的工具,但它不是这项工作的工具。
标签: java maven spring-mvc wildfly