使用命令行编译Java时如何解决jar包依赖问题

  之前一直都是用的集成开发环境,突然用回命令行编译时发现存在jar包依赖的问题,中间踩了很多坑,今天总结一下。
  首先是使用javac编译时需要指定依赖的jar包

这里以Test.java为例

image.png

这里需要在编译时指定依赖,命令如下所示

javac -encoding UTF-8 -classpath .;D:\javaJAR\algorithm4\algs4.jar Test.java 

在解决了编译问题后来到了最大的一个坑,就是执行时就是找不到主类。如下所示。需要注意的是执行时也需要指定依赖,不然会产生NoClassDerFoundError错误。
命令如下

java -cp D:\javaJAR\algorithm4\algs4.jar; Test 
image.png

查看代码发现Test中有package

image.png

通过网上收集大家的经验,发现这里应该指定的类名为 algorithm.chapter1.Test,并且要回到algorithm的父目录下输入命令。

java -cp D:\javaJAR\algorithm4\algs4.jar; algorithm.chapter1.Test 
image.png

可以将.改成 /,但是不能改为 \

image.png

你可能感兴趣的:(使用命令行编译Java时如何解决jar包依赖问题)