首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何修复“无法解决的导入org.apache.poi”

问如何修复“无法解决的导入org.apache.poi”
EN

Stack Overflow用户
提问于 2019-01-29 14:55:10
回答 3查看 24.2K关注 0票数 5

我想在我的代码中使用Apache-POI,但是在import org.apache.poi.xssf.usermodel.XSSFWorkbook;导入语句中得到一个错误消息import org.apache.poi.xssf.usermodel.XSSFWorkbook;。

我是一个初学者,刚安装了VisualStudioCodev1.30.2,Maven 3.6.0,Java 1.8.0_201。

我激活了以下扩展: Java调试器、0.16.0 Java依赖查看器、0.3.0 Java扩展包、0.5.0 Java测试运行程序、0.14.0语言支持Java (TM)、0.37.0 Maven for Java、0.14.0

我在依赖项部分的pom.xml中输入了以下语句:

代码语言:javascript
复制
<!-- https://mvnrepository.com/artifact/org.apache.poi/poi-->
<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi</artifactId>
    <version>4.0.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.poi/poi-ooxml -->
<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi-ooxml</artifactId>
    <version>4.0.1</version>
</dependency>

我也尝试过其他POI版本,例如3.10-决赛。

我对Java、Maven和VSCode太陌生了,无法确定我已经包含了指向解决方案的所有必要信息。请帮助我:)

我运行了mvn compile,结果如下:

代码语言:javascript
复制
C:\Users\MYUSERNAME\Documents\Java\project2>mvn compile
[INFO] Scanning for projects...
[INFO]
[INFO] ---------------------< MYNAME.project2:project2 >---------------------
[INFO] Building project2 1.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ project2 ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory C:\Users\MYUSERNAME\Documents\Java\project2\src\main\resources
[INFO]
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ project2 ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 1 source file to C:\Users\MYUSERNAME\Documents\Java\project2\target\classes
[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] /C:/Users/MYUSERNAME/Documents/Java/project2/src/main/java/MYNAME/project2/App.java:[12,1] package org.apache.poi.ss.usermodel does not exist
[ERROR] /C:/Users/MYUSERNAME/Documents/Java/project2/src/main/java/MYNAME/project2/App.java:[13,37] package org.apache.poi.xssf.usermodel does not exist
[ERROR] /C:/Users/MYUSERNAME/Documents/Java/project2/src/main/java/MYNAME/project2/App.java:[14,37] package org.apache.poi.xssf.usermodel does not exist
[ERROR] /C:/Users/MYUSERNAME/Documents/Java/project2/src/main/java/MYNAME/project2/App.java:[46,9] cannot find symbol
  symbol:   class XSSFWorkbook
  location: class MYNAME.project2.App
[ERROR] /C:/Users/MYUSERNAME/Documents/Java/project2/src/main/java/MYNAME/project2/App.java:[46,45] cannot find symbol
  symbol:   class XSSFWorkbook
  location: class MYNAME.project2.App
[ERROR] /C:/Users/MYUSERNAME/Documents/Java/project2/src/main/java/MYNAME/project2/App.java:[48,9] cannot find symbol
  symbol:   class XSSFSheet
  location: class MYNAME.project2.App
[ERROR] /C:/Users/MYUSERNAME/Documents/Java/project2/src/main/java/MYNAME/project2/App.java:[55,13] cannot find symbol
  symbol:   method setCellValue(java.lang.String)
  location: variable cell of type com.google.common.collect.Table.Cell
[INFO] 7 errors
[INFO] -------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  5.549 s
[INFO] Finished at: 2019-01-30T09:41:45+01:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project project2: Compilation failure: Compilation failure:
[ERROR] /C:/Users/MYUSERNAME/Documents/Java/project2/src/main/java/MYNAME/project2/App.java:[12,1] package org.apache.poi.ss.usermodel does not exist
[ERROR] /C:/Users/MYUSERNAME/Documents/Java/project2/src/main/java/MYNAME/project2/App.java:[13,37] package org.apache.poi.xssf.usermodel does not exist
[ERROR] /C:/Users/MYUSERNAME/Documents/Java/project2/src/main/java/MYNAME/project2/App.java:[14,37] package org.apache.poi.xssf.usermodel does not exist
[ERROR] /C:/Users/MYUSERNAME/Documents/Java/project2/src/main/java/MYNAME/project2/App.java:[46,9] cannot find symbol
[ERROR]   symbol:   class XSSFWorkbook
[ERROR]   location: class MYNAME.project2.App
[ERROR] /C:/Users/MYUSERNAME/Documents/Java/project2/src/main/java/MYNAME/project2/App.java:[46,45] cannot find symbol
[ERROR]   symbol:   class XSSFWorkbook
[ERROR]   location: class MYNAME.project2.App
[ERROR] /C:/Users/MYUSERNAME/Documents/Java/project2/src/main/java/MYNAME/project2/App.java:[48,9] cannot find symbol
[ERROR]   symbol:   class XSSFSheet
[ERROR]   location: class MYNAME.project2.App
[ERROR] /C:/Users/MYUSERNAME/Documents/Java/project2/src/main/java/MYNAME/project2/App.java:[55,13] cannot find symbol
[ERROR]   symbol:   method setCellValue(java.lang.String)
[ERROR]   location: variable cell of type com.google.common.collect.Table.Cell
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/

我还粘贴了mvn -X compile 这里的全部输出

我已经把我的全部POM.XML 这里粘上了

在我的本地文件夹C:\Users\MYUSERNAME.m2\repository\org\apache中,没有子文件夹 poi。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2019-01-30 13:05:31

感谢所有的投稿人,特别是@ayZagen (他把我指向pom.xml)。

结果,我已经将poi的依赖项插入到

代码语言:javascript
复制
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-checkstyle-plugin</artifactId>

而不是进入正确的部分<project> <dependencies>。

当将我的依赖项移到正确的部分时,maven将下载POI并编译该部分代码。

很抱歉因为一个小错误而耽误了人们的时间。谢谢你帮我找出答案,并提出正确的问题!这是一次非常积极的经历!

票数 3
EN

Stack Overflow用户

发布于 2019-01-29 15:08:04

编辑尝试将poi依赖项移动到根dependencies标记。

运行mvn compile

当您第一次执行此命令(或任何其他命令)时,Maven将需要下载完成该命令所需的所有插件和相关依赖项。从Maven的干净安装来看,这可能需要相当长的时间(在上面的输出中,花费了将近4分钟)。如果您再次执行该命令,Maven现在将得到它所需的东西,因此它不需要下载任何新的内容,并且能够更快地执行该命令。

Maven:开始

票数 0
EN

Stack Overflow用户

发布于 2019-01-30 11:59:05

根据错误日志,有两种可能性

  1. 网络发布。Maven无法从其存储库下载jar文件,因此在.m2文件夹中没有库。 解决方案:检查网络/互联网。
  2. 文件损坏了。如果文件损坏了,就会发生这种情况。 解决方案:删除.m2文件夹中的文件夹。右键单击项目(来自Eclipse) -> Maven -> Update project。 然后是clean & refresh项目,然后运行命令refresh
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54423755

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档