我有一个使用Maven项目创建的Spring MVC Web应用程序。我尝试在GlassFish中部署/运行它,我收到以下错误。
以下错误:
无法部署springMvcJdbcTemplate 部署失败=部署期间发生错误: 加载应用程序时出现异常:java.lang.IllegalStateException:ContainerBase.addChild:start:org.apache.catalina.LifecycleException:org.apache.catalina.LifecycleException:java.lang.ClassNotFoundException:com.microsoft.sqlserver.jdbc.SQLServerDriver。有关更多详细信息,请参阅server.log。
以下是我在pom.xml'文件:
<dependencies>
<dependency>
<groupId>aopalliance</groupId>
<artifactId>aopalliance</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>sqljdbc4</artifactId>
<version>4.0</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>4.1.3.RELEASE</version>
</dependency>
<!-- Spring core & mvc -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-orm</artifactId>
<version>${spring.version}</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
<!-- CGLib for @Configuration -->
<dependency>
<groupId>cglib</groupId>
<artifactId>cglib-nodep</artifactId>
<version>${cglib.version}</version>
<scope>runtime</scope>
</dependency>
<!-- Servlet Spec -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>javax.servlet.jsp-api</artifactId>
<version>2.3.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
</dependencies>
这就是我在MvcConfiguration.java&#39;文件(我使用&#39; spring-mvc-achetype&#39;对于这个Maven项目):
@Bean
public DataSource getDataSource() {
DriverManagerDataSource dataSource = new DriverManagerDataSource();
dataSource.setDriverClassName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
dataSource.setUrl("jdbc:sqlserver://7d0\\MSSQLSERVER:1433;databaseName=db_name");
dataSource.setUsername("usrnm");
dataSource.setPassword("pwd");
return dataSource;
}
我添加了&#39; sqljdbc4.jar&#39;文件位于&#39; C:\ Users \ 7d0.m2 \ repository \ com \ microsoft \ sqlserver \ sqljdbc4 \ 4.0 \&#39;,但我仍然收到相同的错误。
我该如何修复错误?谢谢你的到来。
答案 0 :(得分:0)
尝试将sqlserver jar文件放在glassfish服务器的lib目录
中答案 1 :(得分:0)
您是否检查过您的WAR文件,看它是否与其他jar文件一起打包?您可以做的另一件事是将JDBC jar添加到server / lib目录中。
答案 2 :(得分:0)
除了缺少图书馆之外,还有其他两件事(基本上是一件事)可以确保:
项目中WEB-INF文件夹中的applicationContext.xml。
其次,
如果您仅限于包含上面的应用程序上下文,那么您必须编写相同的配置,如下所示。
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/application-contexts/*.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
请参阅以下内容,了解如何使用Maven和Eclipse设置Spring MVC。 Link Here