2

在 Linux 上运行一个 groovy 脚本,HSSF 和 XSSF 导入都不起作用。例如

   import org.apache.poi.xssf.usermodel.XSSFCell
unable to resolve class org.apache.poi.xssf.usermodel.XSSFCell

我尝试将 poi-3.9-20121203.jar 添加到 GROOVY_HOME/lib 和 Java 共享 /usr/share/java。

4

3 回答 3

3

这些xssf类在poi-ooxmljar 文件中。你可以在这里下载:

http://search.maven.org/#artifactdetails|org.apache.poi|poi-ooxml|3.9|jar

或者,使用@Grab

@Grapes(
    @Grab(group='org.apache.poi', module='poi-ooxml', version='3.9')
)
于 2013-07-29T22:28:30.443 回答
2

不要把东西粘在里面,GROOVY_HOME/lib否则/usr/share/java你最终会弄得一团糟,当需要移动它时,你无法在另一台机器上复制它......

你没有说你是如何运行脚本的,或者如果它是自包含的脚本,但假设它是,尝试添加

@Grab( 'org.apache.poi:poi:3.9' )

到 Groovy 脚本的顶部(在imports 上方)

于 2013-07-29T22:15:05.260 回答
1

文档 > 入门 > 快速入门 >运行

在类路径中添加东西

在运行命令行脚本或交互式 shell 时,您可能希望将内容添加到类路径中,例如 JDBC 驱动程序或 JMS 实现等。为此,您有几个选择:

  • 将内容添加到您的 CLASSPATH 环境变量中
  • 将 -classpath(或 -cp)传递到用于创建 shell 或运行脚本的命令中
  • 也可以创建一个 ~/.groovy/lib 目录并在其中添加您需要的任何 jar。
  • 如果您需要的 jar 在 Maven 或 Ivy 存储库中,您可以使用 Grape “抓取”它们。


groovy -cp path-to-poi-3.9-20121203.jar

于 2013-07-29T22:19:26.357 回答