maven webapp에 sqlserver42.jar을 추가하려고합니다. 클래스가 Maven 웹 응용 프로그램의 jar 파일에서로드되지 않았습니다.
나는 나는 마이크로 소프트 웹 사이트에서 sqljdbc42.jar을 다운로드하고 난 다음 명령을 실행 여기Missing artifact com.microsoft.sqlserver:sqljdbc4:jar:4.0
주어진 과정을 따랐다.
mvn install:install-file -Dfile=sqljdbc42.jar -DgroupId=com.microsoft.sqlserver -DartifactId=sqljdbc42 -Dversion=4.2.0 -Dpackaging=jar
그것은 내 로컬 저장소에 jar 파일을 추가하고 난 이미 속성과 그 안에 "sqljdbc.version"의 값을 준
<dependency>
<groupId>com.microsoft.sqlserver.jdbc</groupId>
<artifactId>sqljdbc</artifactId>
<version>${sqljdbc.version}</version>
</dependency>
내 프로젝트의 pom.xml에 다음을 포함 올바른 가치로 해결됩니다. maven 프로젝트를 업데이트하고 "mvn clean install"을 실행 한 후에 Eclipse에서 내 프로젝트 maven 종속성에 jar 파일을 볼 수있었습니다. 내가 웹 응용 프로그램을 실행하려고하면
지금, 그 항아리에서 드라이버 클래스를 선택 할 수 없습니다 나는 다음과 같은 예외가 점점 오전 :
java.sql.SQLException의를 : 아니오 적절한 드라이버를 찾을 수 없습니다 jdbc : sqlserver : //datawh.database.windows.net:1433; database = datawh; user = 사용자 이름 @ datawh; 암호 = password; 암호화 = true; trustServerCertificate = false; hostNameInCertificate = .database.windows.net; loginTimeout = 30 at java.sql.DriverManager.getConnection (DriverManager.java:689) at java.sql.DriverManager.getConnection (DriverManager.java:270) at com.sprt.rest.dao.AccidentDAOImpl.li stAllAccidents com.sprt.rest.controller.AccidentController.listAllAccidents에서 com.sprt.rest.service.AccidentServiceImpl.listAllAccidents에서 (AccidentDAOImpl.java:184) (AccidentServiceImpl.java:34) (AccidentController.java:43)에서 sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) 에서 sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62) 에서 sun.reflect.NativeMethodAccessorImpl.invoke0 (기본 방법) ...... *
내 응용 프로그램에 생성 된 war 파일을 확인하고 내가 WEB-INF가/lib 디렉토리에서 또한 sqljdbc42-4.2.0 항아리를 사용할
,691입니다 것으로 나타났습니다메이븐이없는 다른 간단한 자바 애플리케이션에서 로컬 저장소의 jar 파일을 사용했고 드라이버 클래스를 선택할 수있었습니다. 내 Maven 웹 응용 프로그램에서 내가 뭘 잘못하고 있니? 데이터베이스 = datawh; 1433 : SQLSERVER : //datawh.database.windows.net
내 웹 어플리케이션은
을<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.b2b.rest</groupId>
<artifactId>b2b-restapi</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>b2b-restapi Maven Webapp</name>
<url>http://maven.apache.org</url>
<properties>
<java-version>1.8</java-version>
<springframework.version>4.3.1.RELEASE</springframework.version>
<jackson.version>2.7.5</jackson.version>
<servlet.version>3.1.0</servlet.version>
<log4j.version>1.2.17</log4j.version>
<hibernate.version>4.2.0.Final</hibernate.version>
<springfox.version>2.5.0</springfox.version>
<sqljdbc.version>4.2.0</sqljdbc.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${springframework.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>${springframework.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>${jackson.version}</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>${servlet.version}</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>${log4j.version}</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>${hibernate.version}</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>${springfox.version}</version>
</dependency>
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>sqljdbc42</artifactId>
<version>${sqljdbc.version}</version>
</dependency>
</dependencies>
<build>
<finalName>b2b-restapi</finalName>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat8-maven-plugin</artifactId>
<version>2.2</version>
</plugin>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>2.6</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.3</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
</project>
나는 데이터베이스에
JDBC를 연결하기 위해 사용하고
연결 문자열의 pom.xml user = username @ datawh; password = password; encrypt = true; trustServerCertificate = false; hostNameInCertificate = *. database.windows.net; loginTimeout = 30
또한 SQL 서버에 연결하려고하지 않는다고 언급해야합니다. DB를하지만 Microsoft Azure SQL Warehouse에 연결하려고합니다.
참조 : http://stackoverflow.com/questions/5616898/java-sql-sqlexception-no-suuitable-driver -found-for-jdbcmicrosoftsqlserver database = to databaseName = – DaveRlz
안녕하세요 .. 귀하의 의견을 보내 주셔서 감사합니다. 내 데이터베이스에 연결하는 데 사용하고있는 연결 문자열을 공유하지 않는다는 것을 깨달았습니다. 그것은 질문에 지금 업데이 트됩니다 그리고 SQL 서버 DB에 있지만 Azure SQL웨어 하우스에 연결 아니에요 참고하시기 바랍니다 .. 동일한 항아리가 핵심 Java 응용 프로그램 (메이븐)없이 연결하는 데 사용되었고 잘 작동합니다 .. 잘 모르겠습니다 Maven의 문제점은 무엇입니까? – user2123507
Azure에 익숙하지 않지만 다음을 참조하십시오. https://msdn.microsoft.com/en-us/library/ms378422%28v=sql.110%29.aspx 사용중인 드라이버는 Java8 이후 버전입니다. 어떤 버전을 사용하고 있습니까? – DaveRlz