【问题标题】:IntelliJ can't find sqljdbc4.jar from Maven even though it resolves?即使解决了,IntelliJ 也无法从 Maven 中找到 sqljdbc4.jar?
【发布时间】:2016-03-26 09:50:38
【问题描述】:

IntelliJ 不允许我导入 com.microsoft,即使 Maven 解决了依赖关系并且它在我的项目设置中显示为模块(因此应该在类路径中)。

外部依赖解析: 模块:

POM 文件有这个:

<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.arcologydesigns.rest</groupId>
    <artifactId>ads-webapp</artifactId>
    <packaging>war</packaging>
    <version>0.0.1-SNAPSHOT</version>
    <name>springexample Maven Webapp</name>
    <url>http://maven.apache.org</url>

    <properties>
        <endorsed.dir>${project.build.directory}/endorsed</endorsed.dir>
        <spring.version>4.0.5.RELEASE</spring.version>
        <jdk.version>1.8</jdk.version>
        <jackson.version>2.2.3</jackson.version>
        <!--<sqlserver.version>4.2.6420.100</sqlserver.version>-->
        <sqlserver.version>4</sqlserver.version>
        <build.scm.revision>SCM_IDENTIFIER</build.scm.revision>
        <build.number>BUILD_NUMBER</build.number>
        <build.id>BUILD_ID</build.id>
        <build.job.name>BUILD_JOB_NAME</build.job.name>
    </properties>

    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>3.8.1</version>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>${spring.version}</version>
        </dependency>

        <dependency>
            <groupId>com.microsoft.sqlserver</groupId>
            <artifactId>sqljdbc4</artifactId>
            <version>${sqlserver.version}</version>
        </dependency>

        <dependency>
            <groupId>org.json</groupId>
            <artifactId>json</artifactId>
            <version>20120521</version>
        </dependency>

    </dependencies>
    <build>
        <finalName>ads-webapp</finalName>
    </build>
</project>

我使用以下内容为 Maven 安装 sqljdbc 驱动程序(我从 MSDN 下载的):http://techmajik.com/2014/04/24/how-to-setup-maven-dependency-for-microsoft-sql-server/

【问题讨论】:

标签: java maven intellij-idea classnotfoundexception sqljdbc


【解决方案1】:

尝试像这样直接将它添加到 Maven 存储库:

mvn install:install-file -Dfile=sqljdbc4.jar -Dpackaging=jar -DgroupId=com.microsoft.sqlserver -DartifactId=sqljdbc4 -Dversion=4.0

然后将其添加到您的 POM.xml 中

<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>sqljdbc4</artifactId>
<version>4.0</version>

有关更多详细信息,您可以阅读此主题:

http://claude.betancourt.us/add-microsoft-sql-jdbc-driver-to-maven/

您需要这样做,因为 SQL Server 驱动程序不包含在 maven 存储库中 - 您需要自己安装它。

【讨论】:

  • 该链接不再有效。搜索“sqljdbc4”,将显示 Microsoft 下载页面。解压下载,然后运行 ​​maven 命令。
【解决方案2】:

你可以直接使用下面这个依赖:

<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>mssql-jdbc</artifactId>
<version>6.1.0.jre8</version> </dependency>

【讨论】:

    【解决方案3】:

    较旧的 sqljdbc 驱动程序 (v 4.0) jar 文件可在 maven 存储库中获得: https://mvnrepository.com/artifact/com.microsoft.sqlserver/sqljdbc4/4.0

    使用user4198625提到的命令下载并安装它,注意

    • 确保 maven (mvn) 在您的 PATH 中
    • JAVA_HOME 在您的环境变量中正确定义(对于 Windows)。如果您正在运行 mvn 批处理文件,这一点尤其重要。
    • 要使命令按原样工作,您需要从 jar 文件所在的目录执行它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-06-29
      • 2012-08-18
      • 1970-01-01
      • 2023-03-29
      • 2013-03-12
      • 2013-07-29
      • 1970-01-01
      • 2016-03-10
      相关资源
      最近更新 更多