0

我有一个程序位于

$A430CLASS/com.airbus.adcsip.batch.GlobalReportBatch

$A430CLASS 是我的类文件所在的路径。

我想通过 shell 脚本运行它,所以我输入了以下命令:

java -classpath $A430CLASS/com.airbus.adcsip.batch.GlobalReportBatch $A430CONF/batch.properties

$A430CONF 是 batch.properties 文件所在的路径。GlobalReportBatch 是我的类文件名 如您所见,我想将此 batch.properties 文件作为参数传递给我的 java 程序。但是当我运行我的脚本时,它会尝试替换“。” 在 batch.props 文件到“/”它给了我NoClassDefFound错误。

4

1 回答 1

4

您在-classpath选项之后放置的必须是目录和 JAR 文件列表,由:(在类 Unix 操作系统上)或;(在 Windows 上)分隔。

看看你在传递什么:

-classpath $A430CLASS/com.airbus.adcsip.batch.GlobalReportBatch

删除和您的班级名称/之间的斜线;$A430CLASS用空格替换它:

-classpath $A430CLASS com.airbus.adcsip.batch.GlobalReportBatch

所以整行变成:

java -classpath $A430CLASS com.airbus.adcsip.batch.GlobalReportBatch $A430CONF/batch.properties
于 2012-10-03T13:47:26.903 回答