【问题标题】:The POM for unknown.binary:mysql-connector-java-5.1.23-bin:jar:SNAPSHOT is missing, no dependency information availableunknown.binary:mysql-connector-java-5.1.23-bin:jar:SNAPSHOT 的 POM 丢失,没有可用的依赖信息
【发布时间】:2017-03-29 11:14:38
【问题描述】:

在构建我的项目时,我一直在标题中显示错误,我相信这是我尝试在 tomcat 中运行它时出错的原因。 POM 已在下方添加。

<?xml version="1.0" encoding="UTF-8"?>

http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0

<artifactId>AuctionWebsiteM</artifactId>
<packaging>war</packaging>
<name>AuctionWebsiteM</name>
<description>An auction website</description>
<version>1.0</version>

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.5.2.RELEASE</version>
</parent>

<properties>
    <java.version>1.8</java.version>
</properties>

<dependencies>

    <!-- Web -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>


    <!-- Web with Tomcat + Embed -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-tomcat</artifactId>
        <scope>provided</scope>
    </dependency>

    <!-- JSTL -->
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>jstl</artifactId>
    </dependency>

    <!-- Need this to compile JSP -->
    <dependency>
        <groupId>org.apache.tomcat.embed</groupId>
        <artifactId>tomcat-embed-jasper</artifactId>
        <scope>provided</scope>
    </dependency>

    <!-- Need this to compile JSP -->
    <dependency>
        <groupId>org.eclipse.jdt.core.compiler</groupId>
        <artifactId>ecj</artifactId>
        <version>4.6.1</version>
        <scope>provided</scope>
    </dependency>

    <!-- Optional, for bootstrap -->
    <dependency>
        <groupId>org.webjars</groupId>
        <artifactId>bootstrap</artifactId>
        <version>3.3.7</version>
    </dependency>

            <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>

    </dependency>
             <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-jdbc</artifactId>
            </dependency>

            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-entitymanager</artifactId>
                    <version>5.2.9.Final</version>
            </dependency>
            <dependency>
                <groupId>org.springframework.data</groupId>
                <artifactId>spring-data-commons</artifactId>
            </dependency>
 <dependency>
  <groupId>org.springframework.data</groupId>
  <artifactId>spring-data-jpa</artifactId>
  <type>jar</type>
 </dependency>
        <dependency>
                <groupId>unknown.binary</groupId>
                <artifactId>mysql-connector-java-5.1.23-bin</artifactId>
                <version>SNAPSHOT</version>
        </dependency>
</dependencies>
<build>
    <plugins>
        <!-- Package as an executable jar/war -->
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>
    <repositories>
            <repository>
                    <id>unknown-jars-temp-repo</id>
                    <name>A temporary repository created by NetBeans for libraries and jars it could not identify. Please replace the dependencies in this repository with correct ones and delete this repository.</name>
                    <url>file:${project.basedir}/lib</url>
            </repository>
    </repositories>

希望我错过了一些简单的事情。

【问题讨论】:

    标签: mysql spring spring-boot pom.xml


    【解决方案1】:

    能否修改mysql-connector的依赖信息中包含版本信息。如下所示,然后再试一次, 我希望 maven 无法下载 mysql-connector jar,您可以通过检查 jar 到 IDE 的外部库部分来验证这一点,其中将显示 maven 下载的所有 jar:-

     <!--Mysql-Connector-->
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>5.1.36</version>
            </dependency>
    

    【讨论】:

    • 您好,感谢您的帮助,通过从我的依赖项文件夹中删除“mysql-connector-java-5.1.23-bin”并添加上述特定版本,错误消失了。不幸的是,现在我在运行与“创建名称为 'entityManagerFactory' 的 bean 时出错”相关的项目时遇到了新错误
    • @HazardAGuess,您能否创建另一个问题,包含代码和完整的错误详细信息?
    • @HazardAGuess,你能给我一个链接吗?
    • @HazardAGuess,因为这个答案解决了你的问题,你也可以投票给答案。
    【解决方案2】:

    当我使用 Netbeans IDE 在我的 SpringBoot 应用程序中生成 hibernate.cfg.xml 时,我遇到了同样的问题。 Netbeans在生成hibernate配置文件时添加如下两个依赖-

    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-entitymanager</artifactId>
        <version>4.3.1.Final</version>
    </dependency>
    <dependency>
        <groupId>unknown.binary</groupId>
        <artifactId>mysql-connector-java-5.1.23-bin</artifactId>
        <version>SNAPSHOT</version>
    </dependency>
    

    通过删除这些依赖项并添加以下依赖项,我可以解决问题。

    <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>
    <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
    </dependency>
    

    【讨论】:

      最近更新 更多