java - 下载源代码后,为什么我会在堆栈跟踪中看到未知源?

标签 java maven hsqldb

我想深入了解正在运行单元测试的异常的详细信息,但 HSQLDB 的堆栈跟踪部分显示为未知来源。我正在使用 Maven,并且已下载源代码和文档,并且可以在 IDE 中看到它们正确定义。

有什么想法为什么我仍然会看到未知来源吗?

Caused by: org.hsqldb.HsqlException: incompatible data type in operation
at org.hsqldb.error.Error.error(Unknown Source)
at org.hsqldb.error.Error.error(Unknown Source)
at org.hsqldb.NumberSequence.setDefaults(Unknown Source)
at org.hsqldb.NumberSequence.<init>(Unknown Source)
at org.hsqldb.ParserTable.readColumnDefinitionOrNull(Unknown Source)
at org.hsqldb.ParserTable.readTableContentsSource(Unknown Source)
at org.hsqldb.ParserTable.compileCreateTableBody(Unknown Source)
at org.hsqldb.ParserTable.compileCreateTable(Unknown Source)
at org.hsqldb.ParserDDL.compileCreate(Unknown Source)
at org.hsqldb.ParserCommand.compilePart(Unknown Source)
at org.hsqldb.ParserCommand.compileStatements(Unknown Source)
at org.hsqldb.Session.executeDirectStatement(Unknown Source)
at org.hsqldb.Session.execute(Unknown Source)

最佳答案

Java 库可以使用调试信息进行编译,其中包括源文件和行号信息。许多库都是用这些信息编译的,但显然 HSQLDB 是在没有这些信息的情况下编译的(可能是因为这会导致类文件稍微小一些)。

此信息的可用性与您是否下载源代码无关,这仅取决于库 JAR 中的类是如何编译的。

查看 Maven 中专门针对 HSQLDB 的可用文件,似乎使用 <classifier>debug</classifier>您的 Maven 依赖项中可能会使用包含此调试信息的库版本。不过我还没有验证过这一点。

关于java - 下载源代码后,为什么我会在堆栈跟踪中看到未知源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66565398/

相关文章:

java - 使用 Java 从 mongoDB 检索文档数组

java - 将图像与鼠标单击关联

java - 在依赖 jar 的类中 Autowiring 注释

java - 使用 jdbc 程序连接到 Open Office odb 文件

java - 为什么 Java HSQL 会抛出 AbstractMethodError 异常?

java - 是否可以从 Spring Boot 应用程序压缩嵌入式 HSQL DB?

java - primefaces 命令按钮条件语句

java - 在单个查询中按 ObjectId 按顺序加载多个对象的最佳方法?

Spring Hello World HTTP 状态 500 Servlet Init

java - 如何启动OSGI-INF蓝图