基于maven的springMvc+Mybatis,搭建项目的时候发现一些问题这里例举下
2016-06-17 09:53
866 查看
1.怎样使用maven的tomcat去运行项目?
需要在运行项目的pom文件的build里做如下配置
然后还要在settings.xml里配置下面这段代码
然后右击项目——Run As——Maven build 弹出的对话框中的Goals中输入clean install tomcat7:run然后点下面的Debug,项目就跑起来了
2.另外运行的时候遇到下面的错误别慌
检查你的pom文件,是否引入了servlet-api,因为这是tomcate的jar,如果引入了可能会跟maven中的tomcate插件中的servlet-api冲突,所以干掉就好了,如果是你的底层引用的项目必须使用servlet-api,那么可以加上scope,如下写法
这里的scope可以设置这个包的作用域,设置provided该jar将不被引用他的项目继承。
3.写了一套测试代码,在调用dao方法的时候,mybatis的配置明明都对,但是就是报下面的错误
说白了就是找不到xml中的id=findTestCount的那段sql…
后来发现,maven做instal之后,jar包里没有把xml打进来,坑爹啊,所以找到了下面这段代码,加到pom文件的build里面,重新instal就可以了。
需要在运行项目的pom文件的build里做如下配置
<plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.2</version> <configuration> <server>tomcat7</server> </configuration> </plugin>
然后还要在settings.xml里配置下面这段代码
<servers> <server> <id>tomcat7</id> <username>admin</username> <password>admin</password> </server> </servers>
然后右击项目——Run As——Maven build 弹出的对话框中的Goals中输入clean install tomcat7:run然后点下面的Debug,项目就跑起来了
2.另外运行的时候遇到下面的错误别慌
严重: A child container failed during start java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat].StandardHost[localhost]] at java.util.concurrent.FutureTask.report(FutureTask.java:122) at java.util.concurrent.FutureTask.get(FutureTask.java:188) at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1123) at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:302) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.core.StandardService.startInternal(StandardService.java:443) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:732) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.startup.Tomcat.start(Tomcat.java:341) at org.apache.tomcat.maven.plugin.tomcat7.run.AbstractRunMojo.startContainer(AbstractRunMojo.java:1238) at org.apache.tomcat.maven.plugin.tomcat7.run.AbstractRunMojo.execute(AbstractRunMojo.java:592) at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80) at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51) at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193) at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106) at org.apache.maven.cli.MavenCli.execute(MavenCli.java:862) at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:286) at org.apache.maven.cli.MavenCli.main(MavenCli.java:197) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289) at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229) at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415) at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356) Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat].StandardHost[localhost]] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745) Caused by: org.apache.catalina.LifecycleException: A child container failed during start at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1131) at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:800) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) ... 6 more
检查你的pom文件,是否引入了servlet-api,因为这是tomcate的jar,如果引入了可能会跟maven中的tomcate插件中的servlet-api冲突,所以干掉就好了,如果是你的底层引用的项目必须使用servlet-api,那么可以加上scope,如下写法
<dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.5</version> <scope>provided</scope> </dependency>
这里的scope可以设置这个包的作用域,设置provided该jar将不被引用他的项目继承。
3.写了一套测试代码,在调用dao方法的时候,mybatis的配置明明都对,但是就是报下面的错误
org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.sunchenbin.store.dao.TestDao.findTestCount
说白了就是找不到xml中的id=findTestCount的那段sql…
后来发现,maven做instal之后,jar包里没有把xml打进来,坑爹啊,所以找到了下面这段代码,加到pom文件的build里面,重新instal就可以了。
<resources> <resource> <directory>src/main/java</directory> <includes> <include>**/*.properties</include> <include>**/*.xml</include> </includes> <filtering>false</filtering> </resource> </resources>
相关文章推荐
- java实现简单五子棋
- 用“逐步排除”的方法定位Java服务线上“系统性”故障
- Spring WebSocket教程(二)
- Eclipse中高亮显示相同的变量
- Spring中@Async用法总结
- Eclipse checkstyle 插件使用简单介绍
- Spring WebSocket教程(一)
- Java调用批处理文件,Runtime.getRuntime().exec参数,示例
- Spring通过构造方法注入的四种方式
- Java nio 文件操作 Path,Files类详解一
- java从控制台输出和String的替换
- spring——控制反转简单例子 (Spring三种注入方式)
- java.util.zip.ZipException: invalid LOC header (bad signature)
- Java基础第十七天总结
- Java基础第十六天总结
- JAVA JDK1.5-1.9新特性
- java写得一个模拟浏览器源码
- eclipse字体推荐
- Spring + Ibatis + MySql实例详解
- 字符串搜索算法Boyer-Moore的Java实现