由maven项目的error而深入理解

10:29:58,470 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-3) MSC000001: Failed to start service jboss.undertow.deployment.default-server.default-host./vapbusinessstatusdetect.UndertowDeploymentInfoService: org.jboss.msc.service.StartException in service jboss.undertow.deployment.default-server.default-host./vapbusinessstatusdetect.UndertowDeploymentInfoService: java.lang.ClassNotFoundException: com.suning.vap.web.listener.StartupListener from [Module "deployment.vap-business-status-detect.war:main" from Service Module Loader]

我在启动maven项目的时候老是会抱这种错误,主要也是我对maven的理解不够
 

首先 maven 导包 和maven项目的启动区别要分清

我以为maven项目只要import包就行,其实那只是将依赖引入项目,一个maven的web项目的部署还需要打包成war包部署到tomcat或者jboss等服务器中

使用Maven编译、清理、测试、打包项目

1、使用Maven编译项目,编译项目的命令是:"mvn compile"

  打开cmd命令行,或者可以在idea里maven中直接进行编译,也可以利用maven configuration里写入mvn命令来进行

  编译成功之后,可以看到项目的根目录下多了一个【target】文件夹,这个文件夹就是编译成功之后Maven帮我们生成的文件夹,如下图所示:

  打开【target】文件夹,可以看到里面有一个【classes】文件夹,如下图所示:

  【classes】文件夹中存放的就是Maven我们编译好的java类

  这就是使用Maven自动编译项目的过程。

2、使用Maven清理项目,清理项目的命令是:"mvn clean"

  进入项目根目录执行"mvn clean"命令清理项目,清理项目的过程就是把执行"mvn compile"命令编译项目时生成的target文件夹删掉,如下图所示:

 

3、使用Maven测试项目,测试项目的命令是:"mvn test"

  进入项目根目录执行"mvn test"命令测试项目,如下图所示:

  测试成功之后,可以看到hello项目的根目录下多了一个【target】文件夹,这个文件夹就是测试成功之后Maven帮我们生成的文件夹,如下图所示:

  打开【target】文件夹,可以看到里面有一个【classes】和【test-classes】文件夹,如下图所示:

  也就是说,我们执行执行"mvn test"命令测试项目时,Maven先帮我们编译项目,然后再执行测试代码。

4、使用Maven打包项目,打包项目的命令是:"mvn package"

  进入项目根目录执行"mvn package"命令测试项目,这里你可以在pom.xml里选择打包成war包还是jar包

  打包成功之后,可以看到hello项目的根目录下的【target】文件夹中多了一个jar包或者war包,这个就是打包成功之后Maven帮我们生成的jar文件,如下图所示:

  

5、使用Maven部署项目,部署项目的命令是:"mvn install"

  进入项目根目录执行"mvn install"命令测试项目,如下图所示:

  所以Maven安装项目的过程,实际上就是把项目进行【清理】→【编译】→【测试】→【打包】,再把打包好的jar放到我们指定的存放jar包的Maven仓库中,如下图所示:

  

  所以使用"mvn install"命令,就把maven构建项目的【清理】→【编译】→【测试】→【打包】的这几个过程都做了,同时将打包好的jar包发布到本地的Maven仓库中,所以maven最常用的命令还是"mvn install",这个命令能够做的事情最多。

  maven的编译,清理,测试,打包,部署命令是可以几个命令同时组合起来使用的,常用的命令组合如下:

  先清理再编译:"mvn clean compile",还有的就是"mvn clean test","mvn clean package","mvn clean install",这些组合命令都比较常用。

当打包后的war包,在重新deploy到jboss或者tomcat等容器里,最开始的问题就能解决了

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值