SAS中的Java类路径错误

时间:2014-04-30 02:30:45

标签: java sas

我试图从SAS中的数据步骤调用java类对象。 Java类文件已放在类path./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;

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

有没有人想过为什么会发生这种情况以及解决方案是什么?

提前致谢。

3 个答案:

答案 0 :(得分:2)

您的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

答案 1 :(得分:1)

SAS文档与该主题一样(两者都不如)。 在客户端/服务器应用程序中,生成器会忽略服务器上用户的环境变量。 幸运的是,我找到了一个非常简单的解决方案。 尝试这个: 选项set = CLASSPATH“此处的类路径”;

答案 2 :(得分:0)

也许您可以在sasv9配置文件中以简单模式设置类路径。

通常在此安装路径上:

c:\SAS94\x86\SASFoundation\9.4\sasv9.cfg

或者不是x86版本:

c:\SAS94\SASFoundation\9.4\sasv9.cfg

您可以在配置的此行末尾注册您的JAR文件。

示例:

-Dsas.app.class.path=/sas/sas94/SASVersionedJarRepository/eclipse/plugins/tkjava.jar:/yourpath/your.jar

我记得以前的版本是相同的(9.3,9.2,9.1)