Java编译器已完成,但是没有创建可执行文件吗?

时间:2019-06-25 20:17:01

标签: java api cmd compilation compiler-warnings

(我是Java新手,我不知道什么是“类”或“ api”。)

我正在尝试编译(javac -g Sphinx.java)此代码:

import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.io.PrintWriter;

import edu.cmu.sphinx.api.Configuration;
import edu.cmu.sphinx.api.SpeechResult;
import edu.cmu.sphinx.api.LiveSpeechRecognizer;

public class Sphinx {
    public static void main(String[] args) throws Exception {

        Configuration configuration = new Configuration();

        configuration.setAcousticModelPath("models/en-us/en-us");
        configuration.setDictionaryPath("models/en-us/cmudict-en-us.dict");
        configuration.setLanguageModelPath("models/en-us/en-us.lm.bin");

        PrintWriter pw = new PrintWriter(new PrintWriter("status.txt"));
        LiveSpeechRecognizer recognizer = new LiveSpeechRecognizer(configuration);
        recognizer.startRecognition(true);
        pw.print("running");
        SpeechResult result = recognizer.getResult();
        recognizer.stopRecognition();
        pw.print("stopped");
        pw.close();

        PrintWriter pw2 = new PrintWriter(new PrintWriter("result.txt"));
        pw2.println(result);
        pw2.close();
    }
}

我收到此消息:

Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.

因此,我像它告诉我的那样重新编译了-Xlint:deprecation,并且这次没有给我任何错误,所以我假设编译器已完成,并且编译成功。

然后我看,没有.jar文件,只有一个新的.class文件。

现在,我对Java编译器的了解并不多,我刚刚在网上被告知,它将为我编写的代码提供可执行文件,在这种情况下,该文件是.jar文件。

我不知道编译器是否将新创建的可执行文件发送到特殊的系统目录或什么,但是不在这里,也不知道为什么。

请更懂Java的人在这里给我一些背景。

1 个答案:

答案 0 :(得分:1)

您只需要添加下一步-看:docs.oracle.com/javase/tutorial/deployment/jar/build.html

jar cf jar文件输入文件