Java 编译器已完成但未创建可执行文件?
Java Compiler Completed but Didn't Create the Executable?
(我是 Java 的新手,我不知道 'classes' 或“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 请在这里给我一些背景信息。
您只需添加下一步 - 查看:docs.oracle.com/javase/tutorial/deployment/jar/build.html
jar cf jar-file input-file(s)
(我是 Java 的新手,我不知道 'classes' 或“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 请在这里给我一些背景信息。
您只需添加下一步 - 查看:docs.oracle.com/javase/tutorial/deployment/jar/build.html
jar cf jar-file input-file(s)