“线程中的异常”;AWT-EventQueue-0“;java.lang.NoClassDefFoundError:org/apache/commons/lang3/Validate
我正在尝试使用以下代码获取动态报告:“线程中的异常”;AWT-EventQueue-0“;java.lang.NoClassDefFoundError:org/apache/commons/lang3/Validate,java,dynamic,jasper-reports,report,Java,Dynamic,Jasper Reports,Report,我正在尝试使用以下代码获取动态报告: import java.sql.Connection; import net.sf.dynamicreports.jasper.builder.JasperReportBuilder; import net.sf.dynamicreports.report.builder.DynamicReports; import net.sf.dynamicreports.report.builder.column.Columns; import net.sf.dyna
import java.sql.Connection;
import net.sf.dynamicreports.jasper.builder.JasperReportBuilder;
import net.sf.dynamicreports.report.builder.DynamicReports;
import net.sf.dynamicreports.report.builder.column.Columns;
import net.sf.dynamicreports.report.builder.component.Components;
import net.sf.dynamicreports.report.builder.datatype.DataTypes;
import net.sf.dynamicreports.report.constant.HorizontalAlignment;
import net.sf.dynamicreports.report.exception.DRException;
/**
*
* @author Nigel Backhurst
*/
public class UnsoldLots
{
private Connection con;
private Seller seller;
private int auctionID;
public UnsoldLots(Connection c, Seller s, int a)
{
con = c;
seller = s;
auctionID = a;
String sellerName = seller.FirstName + " " + seller.Surname;
String sellerID = seller.idSeller;
String auction = Integer.toString(a);
String sql = "SELECT LotNumber, Description FROM lots WHERE "
+ "AuctionID = \'" + auction + "\' AND idSellers = \'"
+ sellerID + "\' AND LotSold = \'F\'";
String rTitle = "Unsold Lots for " + sellerName;
JasperReportBuilder report = DynamicReports.report();
//create a new report
report
.columns(
Columns.column("Lot", "LotNumber", DataTypes.integerType()),
Columns.column("Description", "Description", DataTypes.stringType())
)
.title(
//title of the report
Components.text(rTitle )
.setHorizontalAlignment(HorizontalAlignment.CENTER))
.pageFooter(Components.pageXofY())
.setDataSource( sql , con);
try
{
//show the report
report.show();
} catch (DRException e)
{
e.printStackTrace();
}
}
}
但是,我在运行代码时遇到以下异常,无法找出原因:
Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: org/apache/commons/lang3/Validate
at net.sf.dynamicreports.report.base.component.DRList.setType(DRList.java:80)
at net.sf.dynamicreports.report.base.component.DRList.<init>(DRList.java:52)
at net.sf.dynamicreports.report.base.DRBand.<init>(DRBand.java:44)
at net.sf.dynamicreports.report.base.DRReport.init(DRReport.java:144)
at net.sf.dynamicreports.report.base.DRReport.<init>(DRReport.java:126)
at net.sf.dynamicreports.report.builder.ReportBuilder.<init>(ReportBuilder.java:75)
at net.sf.dynamicreports.jasper.builder.JasperReportBuilder.<init>(JasperReportBuilder.java:117)
at net.sf.dynamicreports.report.builder.DynamicReports.report(DynamicReports.java:120)
at iea.auction.manager.UnsoldLots.<init>(UnsoldLots.java:45)
线程“AWT-EventQueue-0”java.lang.NoClassDefFoundError中的异常:org/apache/commons/lang3/Validate
位于net.sf.dynamicreports.report.base.component.DRList.setType(DRList.java:80)
位于net.sf.dynamicreports.report.base.component.DRList.(DRList.java:52)
位于net.sf.dynamicreports.report.base.DRBand.(DRBand.java:44)
位于net.sf.dynamicreports.report.base.DRReport.init(DRReport.java:144)
位于net.sf.dynamicreports.report.base.DRReport.(DRReport.java:126)
位于net.sf.dynamicreports.report.builder.ReportBuilder.(ReportBuilder.java:75)
位于net.sf.dynamicreports.jasper.builder.JasperReportBuilder.(JasperReportBuilder.java:117)
位于net.sf.dynamicreports.report.builder.dynamicreports.report(dynamicreports.java:120)
在iea.auction.manager.UnsoldLots.(UnsoldLots.java:45)
我怀疑我可能遗漏了一个include,但无法确定是哪个。您遗漏了类路径中的
commons-lang3.jar
。下载并将其添加到您的类路径。NoClassDefFoundError表示什么?