每次进行更改时都运行 mvn package?

Posted

技术标签:

【中文标题】每次进行更改时都运行 mvn package?【英文标题】:Run mvn package every time I make changes? 【发布时间】:2020-03-02 04:14:50 【问题描述】:

第一次处理DropWizard 项目,该项目使用docker-config.yml 文件来使用jar 文件运行服务器。

我在终端运行服务器的命令是这样的:

java -jar target/foo-0.0.1.jar server conf/docker-conf.yml

每次进行更改时我都必须运行mvn package 吗? (例如:即使是一个小改动,比如添加 System.out.println() 语句来调试某些东西)

【问题讨论】:

是的,您必须为 java 文件中的任何更改而构建 【参考方案1】:

mvn package 用于创建 JAR - 应用程序的可部署工件。因此,如果您真的想每次都创建 JAR,是的,您需要打包所有内容。

但是,通常如果您谈论的是添加 System.out.println 之类的小改动,我假设您有一些“正在进行中的工作”。在这种情况下,您可以配置您的 IDE 以使用 main 方法运行该类(就 dropwizard 框架而言的 Application 类)。它不会创建一个胖 jar,但你也不需要它来进行调试。

这是我(我相信我们的许多同事)在使用由 dropwizard、spring-boot(在这方面类似)等驱动的应用程序时所做的。

【讨论】:

以上是关于每次进行更改时都运行 mvn package?的主要内容,如果未能解决你的问题,请参考以下文章

dropwizard问题记录1:如何进行mvn package打包,如何在项目目录下运行

每次在 Python 脚本中进行更改时,VS Code 都会打开新浏览器

AppWidgetProvider - 每次对任何 AppWidget 文件进行更改时都会触发 onUpdate 吗?

为啥 Django makemigrations 每次运行时都会检测到由于 help_text/verbose_name 属性中的重音而导致的更改?

每次运行 iOS 模拟器时都会出现白屏

具有版本控制的 HDF5 文件 (h5py) - 每次保存时都会更改哈希