[英]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.