现在,我正在尝试用纯Java (没有builtscript)开发一个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。还有没有别的办法呢?
我也不太清楚类路径、模块路径和其他任何东西之间的区别。我总是尝试从模块路径运行它。
我从this link和this link那里得到了一些推荐信。这两个命令告诉我上面提到的命令。
谢谢!
发布于 2020-02-27 13:30:20
所有非Windows系统中的路径分隔符都是冒号(:),而不是分号(;)。您需要更改以下内容:
java --module-path newout;libs要这样做:
java --module-path newout:libsUnix shells使用;来分隔两个连续的命令。因此,您的原始代码行实际上是尝试执行这两个命令:
$ java --module-path newout
$ libs --module com.example.trial/com.example.trial.CreateProducthttps://stackoverflow.com/questions/60425887
复制相似问题