Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/360.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Maven在具有相同pom配置的不同系统上表现不同_Java_Maven_Cassandra_Spark Cassandra Connector - Fatal编程技术网

Java Maven在具有相同pom配置的不同系统上表现不同

Java Maven在具有相同pom配置的不同系统上表现不同,java,maven,cassandra,spark-cassandra-connector,Java,Maven,Cassandra,Spark Cassandra Connector,我正在和我的朋友一起做一个项目,其中有很多模块需要的依赖项 Scenario is like this :- 我正在为apache_cassandra和spark_cassandra_连接器使用datastax驱动程序,这需要不同版本的io.netty模块 spark_cassandra_连接器需要cassandra驱动核心,我已经在我的项目中使用了 第一个问题出现在我朋友的笔记本电脑上,这是一个棘手的epoll错误,它没有找到任何方法,尽管我的工作正常,没有任何错误。(相同的pom.xml

我正在和我的朋友一起做一个项目,其中有很多模块需要的依赖项

Scenario is like this :- 
我正在为apache_cassandra和spark_cassandra_连接器使用datastax驱动程序,这需要不同版本的io.netty模块

spark_cassandra_连接器需要cassandra驱动核心,我已经在我的项目中使用了

第一个问题出现在我朋友的笔记本电脑上,这是一个棘手的epoll错误,它没有找到任何方法,尽管我的工作正常,没有任何错误。(相同的pom.xml)

在处理错误后,我们发现有不同版本的io.netty,项目依赖项使用了该版本,这可能是导致错误的原因

因此,我们使用了io.netty模块的全局版本,即:-

<dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>io.netty</groupId>
                <artifactId>netty-all</artifactId>
                <version>${netty.version}</version>
            </dependency>
            <dependency>
                <groupId>io.netty</groupId>
                <artifactId>netty-transport-native-epoll</artifactId>
                <version>${netty.version}</version>
            </dependency>
        </dependencies>
</dependencyManagement>

伊奥·内蒂
讨厌的
${netty.version}
伊奥·内蒂
netty传输本地epoll
${netty.version}
这个问题已经解决了

现在,在我朋友的笔记本电脑上,同样的方法“未发现”错误也在发生。所以我们决定在全球范围内使用cassandra驱动程序 即:-

   <dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>io.netty</groupId>
            <artifactId>netty-all</artifactId>
            <version>${netty.version}</version>
        </dependency>
        <dependency>
            <groupId>io.netty</groupId>
            <artifactId>netty-</artifactId>
            <version>${netty.version}</version>
        </dependency>
        <dependency>
            <groupId>com.datastax.cassandra</groupId>
            <artifactId>cassandra-driver-core</artifactId>
            <version>${cassandra-driver.version}</version>
        </dependency>
        <dependency>
            <groupId>com.datastax.cassandra</groupId>
            <artifactId>cassandra-driver-extras</artifactId>
            <version>${cassandra-driver.version}</version>
        </dependency>
        <dependency>
            <groupId>com.datastax.cassandra</groupId>
            <artifactId>cassandra-driver-mapping</artifactId>
            <version>${cassandra-driver.version}</version>
        </dependency>
    </dependencies>
</dependencyManagement>

伊奥·内蒂
讨厌的
${netty.version}
伊奥·内蒂
内蒂-
${netty.version}
com.datasax.cassandra
卡桑德拉驱动核心
${cassandra driver.version}
com.datasax.cassandra
卡桑德拉额外驾驶员
${cassandra driver.version}
com.datasax.cassandra
卡桑德拉驱动映射
${cassandra driver.version}
这是行不通的

我已尝试从火花连接器中排除cassandra驱动核心

<dependency>
            <groupId>com.datastax.spark</groupId>
            <artifactId>spark-cassandra-connector-java_2.10</artifactId>
            <version>${spark.version}</version>
            <exclusions>
                <exclusion>
                    <groupId>com.datastax.cassandra</groupId>
                    <artifactId>cassandra-driver-core</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>com.datastax.cassandra</groupId>
                    <artifactId>cassandra-driver-mapping</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
<dependency>
            <groupId>com.datastax.spark</groupId>
            <artifactId>spark-cassandra-connector_2.10</artifactId>
            <version>${spark.version}</version>
            <exclusions>
                <exclusion>
                    <groupId>com.datastax.cassandra</groupId>
                    <artifactId>cassandra-driver-core</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

com.datasax.spark
spark-cassandra-connector-java_2.10
${spark.version}
com.datasax.cassandra
卡桑德拉驱动核心
com.datasax.cassandra
卡桑德拉驱动映射
com.datasax.spark
spark-cassandra-connector_2.10
${spark.version}
com.datasax.cassandra
卡桑德拉驱动核心
这也不起作用,这个问题发生在朋友系统上,不是我的

关于maven有什么我需要知道的吗?或者有人知道为什么会这样吗?我使用的版本有那个方法

为什么其他系统不接收该版本或覆盖spark模块使用的其他版本

我在verbose中检查了这两个系统上的依赖关系树,它显示了相同的输出(以防maven在其他系统上获取另一个版本,但情况并非如此)

我尝试过清理其他系统上的.m2文件夹,但也不起作用


解决方案是什么???

您是否使用相同版本的Maven,构建中的所有插件都是相同的…使用相同的JDK版本?此外,您是否通过
mvn dependency:tree
检查并比较了结果?尝试比较两个节点上的有效pom
mvn帮助:有效pom
您中的一个可能有受污染的本地存储库。尝试删除主目录中的
.m2/repository
,然后重新生成(可能会下载半个世界)。受“污染”的本地缓存决不会导致问题,否则项目会出现错误行为…是的,两个系统中的版本相同