【问题标题】:maven doesn't recognize my "thrift" dependency?maven 不承认我的“节俭”依赖?
【发布时间】:2018-09-18 18:01:20
【问题描述】:

我正在将 IntelliJ 用于 java 应用程序,尝试使用 apache thrift。

    <dependency>
        <groupId>org.apache.thrift</groupId>
        <artifactId>libthrift</artifactId>
        <version>0.9.1</version>
        <type>pom</type>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>1.7.7</version>
    </dependency>

然后我用thrift生成一个java文件,尝试编译整个项目。但 同时编译“MyServer.java”,第一行是:

import org.apache.thrift.transport.TServerSocket;  
import org.apache.thrift.transport.TServerTransport;  
import org.apache.thrift.server.TServer;  
import org.apache.thrift.server.TServer.Args;  

“mvn -e 编译”说

package org.apache.thrift.transport doesn't exist
package org.apache.thrift.server doesn't exist
package org.apache.thrift.server.TServer doesn't exist

我应该如何解决它?

【问题讨论】:

    标签: java maven package thrift


    【解决方案1】:

    删除&lt;type&gt;:

    <dependency>
        <groupId>org.apache.thrift</groupId>
        <artifactId>libthrift</artifactId>
        <version>0.9.1</version>
    </dependency>
    

    此外,如果您不是在处理需要 thrift 0.9.1 (2013) 的旧版应用程序,您可能希望使用更新的版本,例如 0.11.0 (2018)

    【讨论】:

    • 我在 pom.xml 中尝试了 0.11.0,删除“type”标签会起作用!
    • 答案是正确的,但是如果您添加一些有关其工作原理的信息会更好。确实如此,因为 lib 的类型是 jar,而不是 pom,并且 jar 是默认的依赖类型。
    猜你喜欢
    • 2015-06-23
    • 2021-02-12
    • 1970-01-01
    • 1970-01-01
    • 2019-09-21
    • 2015-05-09
    • 2018-06-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多