Java Maven和POI:包错误和编译代码

Java Maven和POI:包错误和编译代码,java,eclipse,maven,package,apache-poi,Java,Eclipse,Maven,Package,Apache Poi,我有以下代码: import java.io.*; import org.apache.poi.hssf.usermodel.*; public class CreateWorkBook { public static void main(String[] args)throws Exception { //Create Blank workbook HSSFWorkbook workbook = new HSSFWorkbook();

我有以下代码:

    import java.io.*;
import org.apache.poi.hssf.usermodel.*;



public class CreateWorkBook 
{
   public static void main(String[] args)throws Exception 
   {
      //Create Blank workbook
      HSSFWorkbook workbook = new HSSFWorkbook(); 
      //Create file system using specific name
      FileOutputStream out = new FileOutputStream(new File("createworkbook.xlsx"));
      //write operation workbook using file out object 
      workbook.write(out);
      out.close();
      System.out.println("createworkbook.xlsx written successfully");
   }
}
但是Eclipse环境抱怨行:

HSSFWorkbook workbook = new HSSFWorkbook();
它说:

  • HSSF工作簿无法解析为类型
我已正确加载包:import org.apache.poi.hssf.usermodel.*

有关详细信息,请参阅pom.xml文件:

<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/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>net.x.java</groupId>
  <artifactId>ExcelPass</artifactId>
  <packaging>jar</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>ExcelPass</name>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.apache.poi/poi -->
    <dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi</artifactId>
    <version>3.14</version>
</dependency>
  </dependencies>
  <properties>
   <maven.compiler.source>1.8</maven.compiler.source>
   <maven.compiler.target>1.8</maven.compiler.target>
</properties>
</project>

4.0.0
net.x.java
卓越通行证
罐子
1.0-快照
卓越通行证
http://maven.apache.org
朱尼特
朱尼特
3.8.1
测试
org.apache.poi
poi
3.14
1.8
1.8
为什么要这样?我的配置有什么问题


谢谢您的帮助。

Eclipse
中删除该项目,然后重新导入。
这将解决您的问题。

从Eclipse中删除项目,然后重新导入。
这会解决你的问题。

总结一下,我们需要检查以下段落:

1) 您是否已将Apache POI依赖项添加到Maven POM中?e、 g

<!-- https://mvnrepository.com/artifact/org.apache.poi/poi -->
<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi</artifactId>
    <version>3.7</version>
</dependency>
3) 运行Maven build时,它会下载所有必需的依赖项,并将它们安装到本地Maven存储库中,如$Maven_HOME/config/settings.xml中所配置的。您应该在本地Maven repo中找到POI库(JAR)文件

poi-3.7.jar
如果使用7-Zip或运行JDK jar实用程序打开此归档文件,您将看到它包含Eclipse找不到的类

4) 您是否已在Eclipse中将该项目导入为带有文件->导入->Maven->现有Maven项目的Maven项目

5) 当您展开Eclipse项目“Java资源”->“库”时,是否会看到一个名为“Maven依赖项”的库?当您展开它时,您是否看到列出的POI JAR文件


总结一下,下面这段话我们需要检查一下:

1) 您是否已将Apache POI依赖项添加到Maven POM中?e、 g

<!-- https://mvnrepository.com/artifact/org.apache.poi/poi -->
<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi</artifactId>
    <version>3.7</version>
</dependency>
3) 运行Maven build时,它会下载所有必需的依赖项,并将它们安装到本地Maven存储库中,如$Maven_HOME/config/settings.xml中所配置的。您应该在本地Maven repo中找到POI库(JAR)文件

poi-3.7.jar
如果使用7-Zip或运行JDK jar实用程序打开此归档文件,您将看到它包含Eclipse找不到的类

4) 您是否已在Eclipse中将该项目导入为带有文件->导入->Maven->现有Maven项目的Maven项目

5) 当您展开Eclipse项目“Java资源”->“库”时,是否会看到一个名为“Maven依赖项”的库?当您展开它时,您是否看到列出的POI JAR文件


尝试在命令提示符下运行命令
mvn clean install
,并检查是否出现相同错误。如果没有,那么你的日食就有问题了。在eclipse上,通过右键单击项目->Maven->Update@RITZXAVI:
mvn clean install
尝试更新您的项目:构建成功[INFO]---------------------------------------------------------------[INFO]总时间:11.085秒[INFO]完成时间:2016-11-30T18:35:14+00:00[INFO]最终记忆:19M/124M我正试图找到你的第二个建议,但更新后的建议并没有改变任何东西。所以这意味着你的日食出了问题。您是否尝试从eclipse中删除项目并重新导入它?当然,稍后我会通知您。@RITZXAVI:您好,现在我已经解决了问题,并且代码上没有红色下划线,但我有一个警告:资源泄漏:“工作簿”从未关闭,因为行
HSSFWorkbook workbook=new HSSFWorkbook()之后,如果我尝试编译为Java应用程序,则文件不会运行。请尝试从命令提示符运行命令
mvn clean install
,并检查是否出现相同的错误。如果没有,那么你的日食就有问题了。在eclipse上,通过右键单击项目->Maven->Update
@RITZXAVI:
mvn clean install
尝试更新您的项目:构建成功[INFO]---------------------------------------------------------------[INFO]总时间:11.085秒[INFO]完成时间:2016-11-30T18:35:14+00:00[INFO]最终记忆:19M/124M我正试图找到你的第二个建议,但更新后的建议并没有改变任何东西。所以这意味着你的日食出了问题。您是否尝试从eclipse中删除项目并重新导入它?当然,稍后我会通知您。@RITZXAVI:您好,现在我已经解决了问题,并且代码上没有红色下划线,但我有一个警告:资源泄漏:“工作簿”从未关闭,因为行
HSSFWorkbook workbook=new HSSFWorkbook()