问答详情
源自:4-3 Controller-现代方式

mvn jetty:run的目的是什么

访问的时候直接在地址栏输入访问的网址就可以了,为什么每次都要先执行mvn jetty:run命令呢?


提问者:qq_非非_1 2018-01-11 11:05

个回答

  • 福尔摩强
    2020-05-14 17:20:41

    ???,不启动项目你怎么输入网站

  • Plainforever
    2018-01-15 17:16:23

    mvn:一种代码管理工具,也负责依赖包的管理。比如你可以加入jetty的maven插件像这样:

    <plugins>

            <plugin>

              <groupId>org.eclipse.jetty</groupId>

              <artifactId>jetty-maven-plugin</artifactId>

              <version>9.4.8.v20171121</version>

            </plugin>

          </plugins>


    jetty:servlet容器。也可以认为是运行环境。Javaweb程序的根基是servlet(jsp也是特殊的servlet,框架的根基也是。),页面的呈现啊、页面的跳转啊所有网页的相关功能都是由servlet来处理。Javase部分并不负责servlet运行相关的条件,需要外部容器,这个容器可以是各种各样的,例如jetty、tomcat。这里的容器也可以看成你工程的“服务器”了。Linux部署完成这些容器后,打包发布工程,本地点击浏览器就能看见你的网页了。


    mvn jetty:run:则是要求工程运行到jetty的命令,意思是:“工程啊!你在jetty里面奔跑起来吧!”,官网对它的描述是:

    The plugin automatically ensures the classes are rebuilt and up-to-date before deployment. If you change the source of a class and your IDE automatically compiles it in the background, the plugin picks up the changed class.

    You do not need to assemble the webapp into a WAR, saving time during the development cycle. Once invoked, you can configure the plugin to run continuously, scanning for changes in the project and automatically performing a hot redeploy when necessary. Any changes you make are immediately reflected in the running instance of Jetty, letting you quickly jump from coding to testing, rather than going through the cycle of: code, compile, reassemble, redeploy, test.

    这里面提到了只要运行起来,每次修改完成代码后,其实也不需要重新启动了。

    以上是我的理解。