Dao*_*Lam 4 java jar classpath classnotfoundexception
使用以下命令编译好我的代码:
javac -cp "../lib/*" AvroReader.java
(lib是我放我的jar文件的地方)
在运行时,我得到ClassNotFoundException
以下行:
DatumReader<?> dtmrdr = new GenericDatumReader();
它说org.apache.avro.generic.GenericDatumReader
即使我已经导入它也找不到它.
为什么会这样?
谢谢!
duf*_*ymo 12
导入与加载类或设置CLASSPATH无关.
试试这个:
java -cp .;../lib/* Generator
Run Code Online (Sandbox Code Playgroud)
使用点'.'
作为CLASSPATH中的第一个条目假定该Generator.class
文件存在于运行java的目录中,并且该目录位于该目录的/lib
一级.如果这两个都不正确,请根据需要进行调整.
您应该再次运行程序包括相同的cp:
java -cp "lib directory where i put all the jars" MainClassOfYourApplication
Run Code Online (Sandbox Code Playgroud)
用以下代码编译后:
javac -cp "lib directory where i put all the jars" AvroReader.java
Run Code Online (Sandbox Code Playgroud)
更多应用于您的示例:
First step(compile all the needed java files): javac -cp "path/to/jars/*" AvroReader.java //here you should include all the java files not yet compiled but which you need to run your app
Second step: java -cp "path/to/jars/*" package.subpackage1.subpackage2.Generator
Run Code Online (Sandbox Code Playgroud)