使用java的maven导入tablesaw库

问题描述 投票:0回答:1

我是 intellij、Java 项目和 Maven 的新手。我以为我已经完成了使用 Maven 导入依赖项的所有步骤,但仍然出现错误。在其他情况下,

import tech.tablesaw
会显示为灰色,就好像将它们注释掉一样。

在我的

main.java
文件中:

package org.example;

import tech.tablesaw.*;
import tech.tablesaw.aggregate.*;
import tech.tablesaw.io.csv.*;

public class Main {
    public static void main(String[] args) {
        
       Table table = Table.read().csv("people.csv");
       table.print();}}

在我的

pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<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/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>org.example</groupId>
    <artifactId>tablesaw2</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <maven.compiler.source>21</maven.compiler.source>
        <maven.compiler.target>21</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

    <dependencies>
        <!-- https://mvnrepository.com/artifact/tech.tablesaw/tablesaw-core -->
        <dependency>
            <groupId>tech.tablesaw</groupId>
            <artifactId>tablesaw-core</artifactId>
            <version>0.43.1</version>
        </dependency>
    </dependencies>
</project>

我收到有关未找到/导入库的错误。我的项目文件夹中有一个 .csv,但我不明白导入问题的意义,它没有找到 tablesaw 包

enter image description here

intellij 的多个导入会自动变灰? enter image description here

java maven intellij-idea
1个回答
0
投票

您的问题有几个问题。让我们分别解决它们。

首先,我可以从

import tech.tablesaw.api.*
行看到您已成功导入库。如果您不这样做,Intellij 会向您抛出错误。但是您调用
read
方法是错误的。
read
是属于
Table
类的方法,而不是对象。所以你需要这样称呼它:

Table.read().csv("people.csv");

而不是:

Table.read.csv("people.csv");

其次,灰色的导入意味着您没有在当前文件中使用这些导入。这不是错误或警告,表明您没有导入该库。所以没问题。

最后,当我尝试导入库并运行你的代码时,它给了我这个错误:

SLF4J(W): No SLF4J providers were found.
SLF4J(W): Defaulting to no-operation (NOP) logger implementation
SLF4J(W): See https://www.slf4j.org/codes.html#noProviders for further details.

所以我建议你在类路径上提供一个具体的java日志库。如果您想了解详细信息,请参阅此处。因此,如果您也收到此错误行,您需要做的就是将这些依赖项添加到您的

pom.xml
中,您应该没问题。

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>2.0.16</version>
</dependency>

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-simple</artifactId>
    <version>2.0.16</version>
    <scope>runtime</scope>
</dependency>

希望这有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.