classpath - 从命令行运行java程序 [英] classpath - running a java program from the command line

查看:127
本文介绍了classpath - 从命令行运行java程序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

使用以下命令编译好我的代码:

My code compiled fine with the following command:

javac -cp../lib/*AvroReader.java

(lib是我放我的jar文件的地方)

(lib is where i put my jar files)

在运行时我得到一个以下行中的 ClassNotFoundException

At run time I get a ClassNotFoundException on the following line:

DatumReader<?> dtmrdr = new GenericDatumReader();

它说无法找到 org.apache.avro.generic。 GenericDatumReader 即使我已导入它。

It says it can't find org.apache.avro.generic.GenericDatumReader even though I've imported it.

为什么会这样?

谢谢!

推荐答案

导入与加载类或设置CLASSPATH无关。

Importing has nothing to do with loading classes or setting CLASSPATH.

试试这个:

java -cp .;../lib/* Generator

使用点'。'作为CLASSPATH中的第一个条目假设 Generator.class 文件存在于运行java的目录中, / lib 是一个级别从该目录。如果这两个都不正确,请根据需要进行调整。

Using the dot '.' as the first entry in the CLASSPATH assumes that the Generator.class file exists in the directory from which you're running java, and /lib is one level up from that directory. Adjust as needed if both of these are not correct.

这篇关于classpath - 从命令行运行java程序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆