错误:无法找到或加载主类

时间:2018-01-27 13:53:38

标签: java ubuntu command-line

我是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

2 个答案:

答案 0 :(得分:1)

您忘了指定" MainClass"到Manifest.mf

这应该是Eclipse Jar Export Wizard的最后一步。

告诉我,如果您使用其他IDE或使用Maven,则会更改此过程。

您当前的命令应该成功运行。

答案 1 :(得分:0)

解决方案是包含当前目录。

java -cp jars/commons-lang3-3.7.jar:. MyTest

认为会自动发生。但是-cp参数末尾的点是必要的。