Java/OpenJDK:如何将JAR添加到类路径

Java/OpenJDK:如何将JAR添加到类路径,java,linux,Java,Linux,我在命令行上运行第三方jar文件(无UI),如下所示: /usr/bin/java -jar exchange-sync.jar 在我的发行版(Debian Buster)升级到最新的OpenJDK 11之后,这个命令不再工作。这就是我现在得到的: Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/ws/http/HTTPException at microsoft.exchange.we

我在命令行上运行第三方jar文件(无UI),如下所示:

 /usr/bin/java -jar exchange-sync.jar
在我的发行版(Debian Buster)升级到最新的OpenJDK 11之后,这个命令不再工作。这就是我现在得到的:

Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/ws/http/HTTPException
        at microsoft.exchange.webservices.data.core.ExchangeService.findItems(ExchangeService.java:976)
        at microsoft.exchange.webservices.data.core.ExchangeService.findAppointments(ExchangeService.java:1264)
        at microsoft.exchange.webservices.data.core.ExchangeService.findAppointments(ExchangeService.java:1285)
        at com.zerodes.exchangesync.exchange.ExchangeSourceImpl.getAllAppointments(ExchangeSourceImpl.java:399)
        at com.zerodes.exchangesync.sync.SyncCalendarsImpl.generatePairs(SyncCalendarsImpl.java:45)
        at com.zerodes.exchangesync.sync.SyncCalendarsImpl.syncAll(SyncCalendarsImpl.java:98)
        at com.zerodes.exchangesync.App.main(App.java:48)
Caused by: java.lang.ClassNotFoundException: javax.xml.ws.http.HTTPException
        at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:583)
        at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
我已经发现现在需要安装
jaxws-api
Debian包,它提供了
/usr/share/java/jaxws-api.jar
中缺少的类

为了包含已安装jar文件中的类,我需要哪个java命令行?我已经试过了,但是我得到了同样的错误:

/usr/bin/java -cp /usr/share/java/jaxws-api.jar -jar exchange-sync.jar

顺便说一句:我是一个JavaNoob,我不想搞砸重新编译的事情。我还确信
javax.xml.ws.http.HTTPException
驻留在
jaxws-api.jar
中,因为我用vim浏览了jar文件并在其中找到了该类。

好的,我终于自己解决了这个问题。这就是如何正确添加模块的方法,JAR希望这些模块出现:

/usr/bin/java --module-path /usr/share/java/jaxws-api.jar --add-modules jaxws.api -jar exchange-sync.jar

因此,它实际上与类路径没有任何关系,它只是添加模块。

-jar
不允许修改类路径,它使用清单中的任何内容。可能重复