我是Java的新手,我想通过命令行在Ubuntu服务器上运行一个简单的测试程序。 " Hello World"运作良好。 但现在我想将jar文件添加到我的测试程序中。所以我按照this简单教程。
我创建了一个文件" MyTest.java"像这样:
import org.apache.commons.lang3.*;
public class MyTest
{
public static void main (String[] args)
{
// Print Hello World!
String x = "Hello World!";
System.out.println(StringUtils.capitalize(x));
}
}
使用
编译java文件 javac -cp jars/commons-lang3-3.7.jar MyTest.java
运行良好且没有错误,并生成了MyTest.class()文件。但是当我想用
运行测试程序时java -cp jars/commons-lang3-3.7.jar MyTest
我最终得到以下错误:
Error: Main class MyTest could not be found or loaded
我错过了什么?为什么编译器成功但程序无法执行?
编辑:
说清楚:我不想建立一个jar文件(至少还没有)。我只想构建并运行一个简单的java程序,引用我从互联网上下载的jar文件。如下所述:https://www.programcreek.com/2014/01/compile-and-run-java-in-command-line-with-external-jars/
Java版本:
> java -version
openjdk version "1.8.0_151"
OpenJDK Runtime Environment (build 1.8.0_151-8u151-b12-0ubuntu0.16.04.2-b12)
OpenJDK 64-Bit Server VM (build 25.151-b12, mixed mode)
JAVAC版本:
> javac -version
javac 1.8.0_151
答案 0 :(得分:1)
您忘了指定" MainClass"到Manifest.mf
这应该是Eclipse Jar Export Wizard的最后一步。
告诉我,如果您使用其他IDE或使用Maven,则会更改此过程。
您当前的命令应该成功运行。
答案 1 :(得分:0)
解决方案是包含当前目录。
java -cp jars/commons-lang3-3.7.jar:. MyTest
认为会自动发生。但是-cp参数末尾的点是必要的。