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工作簿无法解析为类型
<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()如果我尝试编译为Java应用程序,则该文件不会运行。