尝试在Java程序中编译主类时,NoClassDefFoundError,同时导入所有资源

时间:2014-12-23 11:50:38

标签: java eclipse command-line compilation

我正在创建一个小应用,使用谷歌语音向手机号码发送消息。我做了一个在Eclipse中工作的简单测试用例,可以按预期发送消息。但是,当我尝试在终端上运行它时,我一直遇到问题。这是我写的主要课程:

import java.io.IOException;
import com.techventus.server.voice.Voice;

public class main_WUB {

public static void main(String[] args) {
    // TODO Auto-generated method stub

    String username = "wake.up.bot.acc";
    String password = "wakeupbotacc";
    String originNumber = #;
    String pavlePhone = #;
    String wakeupMessage = "txt from main_WUB";


    try {
        Voice voice = new Voice(username, password);
        voice.sendSMS(pavlePhone, wakeupMessage);
        System.out.println("IT WORKED?");

        //voice.call(originNumber, pavlePhone, "1");

    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

}

}

我已将该类转移到远程服务器上以在Linux机器上进行测试,但是,这些是我遇到的问题。当我尝试使用

运行主类时
java main_WUB

它返回一个异常,说明

Exception in thread "main" java.lang.NoClassDefFoundError: com/techventus/server/voice/Voice at main_WUB.main<main_WUB.java:18> ...

让我感到困惑的是,我事先在eclipse中遇到了这个错误,并通过导入包含com.techventus.server.voice.Voice的引用库来修复它。现在我在尝试直接编译时遇到了同样的问题。有没有办法来解决这个问题?我的命令中缺少什么?任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:0)

您需要构建包含所有Libs(依赖项)的JAR。

在Eclipse中构建项目时,请使用“使用依赖项构建”选项

答案 1 :(得分:0)

在eclipse中为整个项目创建一个jar文件。在eclipse中制作jar文件的程序 - &gt;右键单击您的项目 - &gt;出口 - &gt; java - &gt; runnable jar文件 - &gt;在启动配置下拉列表框中选择main_WUB - &gt;选择单选按钮“将所需的库提取到生成的jar” - &gt;完。

现在打开cmd promt - &gt;转到罐子所在的路径 - &gt;然后给出命令“java -jar main_WUB”

它应该有用。