首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在下面的脚本中设置CPATH的值。该脚本无法识别以下脚本第二行中的类路径。

如何在下面的脚本中设置CPATH的值。该脚本无法识别以下脚本第二行中的类路径。
EN

Stack Overflow用户
提问于 2012-07-24 14:10:52
回答 2查看 2.2K关注 0票数 0

我必须执行下面的脚本

代码语言:javascript
复制
export CPATH="cpath=.:/mdcode/mtrxmdsb2/WaferChecks/bin/WaferChecksFile.jar"
/sail/lpp/IBM/Java/1.6.0/jre/bin/java \
    -classpath "$CPATH" com/ibm/md/waferchecks/ReadPasswordMain $1 $2 $3

该脚本接受3个参数。但是,当我从cmd提示符运行脚本时,我得到以下错误:

代码语言:javascript
复制
Exception in thread "main" java.lang.NoClassDefFoundError: com.ibm.md.wafercheck
s.ReadPasswordMain
Caused by: java.lang.ClassNotFoundException: com.ibm.md.waferchecks.ReadPassword
Main
        at java.net.URLClassLoader.findClass(URLClassLoader.java:421)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:652)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:346)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:618)
Could not find the main class: com/ibm/md/waferchecks/ReadPasswordMain.  Program
 will exit.

我知道这是一个没有正确设置类路径变量的问题。我猜我在某个地方的语法是错误的。有谁能帮帮忙吗。谢谢

EN

回答 2

Stack Overflow用户

发布于 2012-07-24 15:11:47

代码语言:javascript
复制
export CPATH=".:/mdcode/mtrxmdsb2/WaferChecks/bin/WaferChecksFile.jar" 

此外,您也不必将shell变量放在引号中。

票数 0
EN

Stack Overflow用户

发布于 2012-08-01 18:31:31

从分配行中删除export CPATH=。这迫使java查找名为cpath=.而不是.的文件或目录。

代码语言:javascript
复制
#! /bin/bash
jarfile=/mdcode/mtrxmdsb2/WaferChecks/bin/WaferChecksFile.jar
cpath=.:${jarfile?}

您不需要export,因为您将$cpath作为参数传递给java -classpath选项。

在passant中,您可以在调用java之前执行一些检查,以消除以下代码行中的一些小错误:

代码语言:javascript
复制
(< ${jarfile?}) || exit # abort on missing or unreadable file[*]

如果path变量为空或undefined

  • ( < file ) || exit是对打开要读取的文件的能力的最小测试,则
  • ${path:?}将中止。

(这是bash、ksh93和zsh的常用用法。)

最后的脚本变成:

代码语言:javascript
复制
#! /bin/bash
jarfile=/mdcode/mtrxmdsb2/WaferChecks/bin/WaferChecksFile.jar
cpath=.:${jarfile?}
(< ${jarfile?}) || exit

/sail/lpp/IBM/Java/1.6.0/jre/bin/java \
    -classpath "${cpath?}"  \
    com/ibm/md/waferchecks/ReadPasswordMain $1 $2 $3
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11625092

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档