首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用第三方库(jar文件)运行Java Module类(java 9 jigsaw项目)?

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

Stack Overflow用户
提问于 2020-02-27 11:34:11
回答 1查看 299关注 0票数 0

现在,我正在尝试用纯Java (没有builtscript)开发一个java项目。我正在实现Java 9中的模块概念。当涉及到使用额外的jar文件(第三方库)运行Java项目(主类)时,我遇到了麻烦。我在编译时没有问题,但是当我尝试运行java时,它不能像预期的那样运行。

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

代码语言:javascript
复制
javac --module-path lib -d newout --module-source-path src @javaFiles.txt

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

代码语言:javascript
复制
java --module-path newout;libs --module com.example.trial/com.example.trial.CreateProduct

我得到了这个错误,就好像它是一个错误的命令:

代码语言:javascript
复制
$ 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 linkthis link那里得到了一些推荐信。这两个命令告诉我上面提到的命令。

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-02-27 13:30:20

所有非Windows系统中的路径分隔符都是冒号(:),而不是分号(;)。您需要更改以下内容:

代码语言:javascript
复制
java --module-path newout;libs

要这样做:

代码语言:javascript
复制
java --module-path newout:libs

Unix shells使用;来分隔两个连续的命令。因此,您的原始代码行实际上是尝试执行这两个命令:

代码语言:javascript
复制
$ java --module-path newout
$ libs --module com.example.trial/com.example.trial.CreateProduct
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60425887

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档