繁体   English   中英

使用导入的jar的Java命令行

[英]Java command line using an imported jar

我敢肯定这是一个愚蠢的问题,以前每个Java程序员都必须问过。 但是我根本找不到相关的问题。

这里讨论的是子目录,但是我没有任何子目录,因为它们都位于与java文件相同的目录中,并且我从可执行jar文件错误中执行了命令行

此解决方案给了我与以下相同的错误: 带有外部.jar的Java命令行

其他人(我没有链接)谈论Eclipse和其他IDE,但是我没有使用IDE,而只是使用Linux终端。

我正在尝试从http://www.hummeling.com/IF97导入公共jar文件。 下载的jar文件已重命名为if97.jar。

我有一个名为steam.java的Java文件,文件中包含以下命令:

'

import com.hummeling.if97.IF97;
IF97 H2O = new IF97(IF97.UnitSystem.ENGINEERING);

System.out.println("test H2O table PSpecificEnthalpy(1): "+H2O.specificEnthalpyPT(1,300));
System.out.println("test H2O table PSpecificEnthalpy(5): "+H2O.specificEnthalpyPT(5,300));

'

但是我不知道如何在命令行中运行此文件。

我通过输入成功编译:

'javac -cp if97.jar ~/test/steam.java'

现在我有一个名为steam.class的文件

但是当我用以下命令执行它时:

'java steam -cp if97.jar'

要么

'java steam -jar if97.jar'

我得到错误:

Exception in thread "main" java.lang.NoClassDefFoundError: com/hummeling/if97/IF97
at steam.start(steam.java:364)
at steam.main(steam.java:341)

引起原因:java.lang.ClassNotFoundException:com.hummeling.if97.IF97

我正在尝试使用Terminal在Linux Ubuntu 16.04中执行此操作。 这两个文件(steam.java和if97.jar)都位于我在其上执行javac&java命令的同一主目录中。

我相信(或者我弄错了)问题是Java无法找到jar文件。 但是我不知道为什么。

请指教,谢谢。

您需要在JVM选项之后指定类名,因为类名后面的任何内容都被视为该类的参数,而不是JVM。

尝试这个:

'java -cp if97.jar steam'

暂无
暂无

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

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