我是 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 包
您的问题有几个问题。让我们分别解决它们。
首先,我可以从
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>
希望这有帮助。