2011-12-16 140 views
0

我想用Spring批处理Jasper Reports。eclipse中包含“maven install”的错误:package net.sf.jasperreports.engine does not exist

工作环境:RAD 7.5(!所以日食),Maven的

我都Spring Batch的节目具有一个微进程,它什么也不做,但打印Hello World一个工作一个最简单的。

这运行良好。

之后 - 我复制jasper报告jar文件在我的项目的lib文件夹。右键点击项目 - >转到属性 - >构建路径 - >添加jar文件 - >选择碧玉报告jar,然后单击确定。

细到现在。

现在在我的微进程的程序,我只需添加如下一行:

JasperReport jasperReport; 

因为我声明类型的JasperReport的一个变量,日食呼喊有关导入类。

我点击eclipse显示的错误气泡(十字形的红色气泡),它列出了我添加到类路径中的上述jar中的正确类。我选择导入建议,错误消失了。

现在,我保存文件 - >右键单击项目 - >运行方式 - > Maven的安装和完蛋了:

Maven的抱怨:

Compilation failure 
C:\Nikunj\Sandbox\Reporting\src\main\java\com\in\nik\example\util\GenerateReportTasklet.java:[12,35] package net.sf.jasperreports.engine does not exist 

C:\Nikunj\Sandbox\Reporting\src\main\java\com\in\nik\example\util\GenerateReportTasklet.java:[25,8] cannot find symbol 
symbol : class JasperReport 
location: class com.in.nik.example.util.GenerateReportTasklet 

经过100次。包装在罐子里。这堂课在罐子里。如果它不在那里,不会出现月蚀显示错误。它没有显示。意味着它那里。

我GenerateReportTasklet是:

package com.hsbc.us.pb.custody.util; 

import net.sf.jasperreports.engine.JasperReport; 

import org.springframework.batch.core.StepContribution; 
import org.springframework.batch.core.scope.context.ChunkContext; 
import org.springframework.batch.core.step.tasklet.Tasklet; 
import org.springframework.batch.repeat.RepeatStatus; 


public class GenerateReportTasklet implements Tasklet { 

    public RepeatStatus execute(final StepContribution arg0, final ChunkContext arg1) throws Exception { 

     JasperReport jasperReport; 

     System.out.println("Hello Report!"); 

     return null; 
    } 

} 

我出我的脑海里找出我错过了什么。

请不要建议在我的POM.xml中添加jar作为依赖项我可以轻松地做到这一点。

但我知道我在做什么以上应该工作,它不工作。我想要找到它的根源。

任何想法?

我知道这并不重要,但我从java2s.com下载的jar:

http://www.java2s.com/Code/Jar/JKL/Downloadjasperreportsjar.htm 

感谢您阅读!

+0

这是正常的丢失的依赖添加到项目中。为什么你不想只添加`jaspereports`工件到pom.xml? – 2011-12-16 14:51:59

回答

0

当您使用Eclipse进行编译时,Eclipse将为编译构建一个类路径。如果你告诉Eclipse你需要一个JAR,那么Eclipse将在编译类路径中包含该JAR,并且你的编译将会工作。

Maven也会发生同样的情况,除了告诉Maven您需要该JAR的方式是将其作为POM中的依赖项添加它之外。

你别指望Eclipse来知道(没有你告诉它),你需要一定的JAR。你为什么期望Maven有什么不同?

注:Maven的时候,它是一个独立IDE的工具,不知道你的Eclipse项目配置 - 虽然你可以做反向和使Eclipse从POM-声明的依赖性配置其类路径。

相关问题