使用 j-text utils 的 TextTable 类而不是具有 ResultSet 值的表打印结果集时出现异常

问题描述 投票:0回答:1

尝试使用下面的代码从java中的ResultSet打印表格,但出现错误:

Exception in thread "main" java.lang.NoClassDefFoundError: 
org/apache/commons/lang/StringUtils
at dnl.utils.text.table.TextTableRenderer.render(TextTableRenderer.java:42)
at dnl.utils.text.table.TextTable.printTable(TextTable.java:76)
at dnl.utils.text.table.TextTable.printTable(TextTable.java:71)
at autopack.JDBC_Connection.main(JDBC_Connection.java:146)
Caused by: java.lang.ClassNotFoundException: 
org.apache.commons.lang.StringUtils
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
... 4 more

代码:

for ( int i = 0,j=1; j <= columnsNumber; i++,j++ ) 
{
    ColumnNames[i]=rsmd.getColumnLabel(j);
}
rs.last();
int RowCount=rs.getRow();
rs.beforeFirst();

Object[][] data = new Object[RowCount][columnsNumber];
int i=0;

while(rs.next())
{
for (int j=0; j+1<=columnsNumber; j++) 
{
data[i][j] = rs.getString(j+1);
}
i++;
}

TextTable tt = new TextTable(ColumnNames, data);
tt.setAddRowNumbering(true);
tt.printTable();

注意:添加了 SOP 来打印 Pass 以检查代码失败或未到达的位置。 上述代码示例来自:Write j-text utils table to file

java jdbc resultset
1个回答
0
投票

我使用以下方法解决了这个问题:

  1. 在pom文件中添加maven依赖

    公共语言 公共语言 2.6
2.在IDEA中添加库。文件 -> 项目结构 -> 项目设置 -> 库 -> + > 从我的 .m2 文件夹添加库
© www.soinside.com 2019 - 2024. All rights reserved.