SAS 中的 Java 类路径错误

标签 java sas

我正在尝试从 SAS 中的数据步骤调用 java 类对象。 Java类文件已放置在类路径/dir/folder_location

SAS 的类路径变量已更改为存储类文件的文件夹。这已从 SAS 企业指南中得到验证,我在其中打印了日志的类路径

SYSGET("CLASSPATH") 返回/dir/folder_location

当我运行以下路径在类中声明 java 对象时:

   data _null_;
   declare javaobj j ('Classname');
   run;

这给了我一个错误

错误:在第 x 行第 y 列找不到类“ClassName”。请确保 CLASSPATH 正确。 错误:数据步组件对象失败。在执行阶段中止。

当我使用命令获取java信息时

PROC javainfo CLASSPATHS;
run;

这会返回不同的路径。这与上面的类路径不同吗?

有人知道为什么会发生这种情况以及解决方案是什么吗?

提前致谢。

最佳答案

您的 Java 类碰巧在 JAR 文件中吗?如果是这样,文档似乎说类路径需要包含 .jar 文件。

在 SAS 中,您必须设置 CLASSPATH 环境变量,以便 Java 对象可以找到您的 Java 类。 Java 对象表示在当前 Java 类路径中找到的 Java 类的实例。您使用的任何类都必须出现在类路径中。如果类位于 .jar 文件中,则 .jar 文件名必须出现在类路径中。

http://support.sas.com/documentation/cdl/en/lrcon/67227/HTML/default/viewer.htm#n0swy2q7eouj2fn11g1o28q57v4u.htm#p1eop5jjb9digin1adfp22tmssl0

关于SAS 中的 Java 类路径错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23378684/

相关文章:

java - Spring Boot 从另一个模块 Autowiring

java - 在 Jtable 的一行中设置颜色

java - 如何在 Android 中使用 firebase 9.2 的自动值

java - 从 bash 脚本中将 Spring Boot 作为前台进程启动

sas - 在单个数据步骤中将一行合并到所有行

sas - 将带空格的字符串转换为有效的表名

sql - PROC SQL - 满足条件时将数据转置到列中

java - AuthnRequest 中的 SAML 请求属性

sql - 将 CONTAINS 与变量 sql 一起使用

python - 将大型 SAS 数据加载到 R/Python 中