繁体   English   中英

如何使用第三方库(jar 文件)运行 Java 模块类(java 9 jigsaw 项目)?

[英]How to Run Java Module class (java 9 jigsaw project) with third party library (jar files)?

现在我正在尝试用纯 Java(没有内置脚本)开发一个 Java 项目。 我正在从 Java 9 实现模块概念。在运行带有附加 jar 文件(第三方库)的 Java 项目(主类)时遇到了麻烦。 编译时我没有问题,但是当我尝试运行 java 时,它无法按预期运行。

我可以通过执行这个命令来编译这个项目(javaFiles.txt 包含我想要编译的 java 文件):

javac --module-path lib -d newout --module-source-path src @javaFiles.txt

但是当我尝试使用以下命令运行编译后的 .class 文件时:

java --module-path newout;libs --module com.example.trial/com.example.trial.CreateProduct

我收到此错误,就好像这是一个错误的命令:

$ java --module-path newout;libs --module com.example.trial/com.example.trial.CreateProduct
Usage: java [options] <mainclass> [args...]
       (to execute a class) or  java [options] -jar <jarfile> [args...]
       (to execute a jar file)
...

我正在使用 ubuntu。 有没有其他方法可以做到?

而且我真的不知道类路径、模块路径和其他任何东西之间的区别。 我总是尝试从模块路径运行它。

我从这个链接这个链接得到了一些参考。 这两个告诉我我上面提到的命令。

谢谢!

在所有的非Windows系统的路径分隔为冒号( : ),而不是分号( ; )。 你需要改变这个:

java --module-path newout;libs

对此:

java --module-path newout:libs

Unix shell 使用; 分隔两个连续的命令。 所以你原来的行实际上是试图执行这两个命令:

$ java --module-path newout
$ libs --module com.example.trial/com.example.trial.CreateProduct

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM