gpt4 book ai didi

java - 运行可执行 jar 时打印编写器不工作

转载 作者:行者123 更新时间:2023-12-02 08:04:42 26 4
gpt4 key购买 nike

我创建了一个备份程序。程序运行良好,但没有生成日志。我使用三种方法生成日志,

System.out.println(message);

try {

if(logFileWriter != null){

logFileWriter.write(message);
logFileWriter.newLine();
logFileWriter.flush();
}

Runtime.getRuntime().exec("echo " + message);

} catch (IOException e1) {}

日志文件初始值设定项:

private static void initLog() { 
File logFileObj = new File(logFile);
try {
FileWriter fileWriter = new FileWriter(logFileObj);
logFileWriter = new BufferedWriter(fileWriter);
} catch (IOException e) {
e.printStackTrace();
}
}

这里的消息是我要记录的消息。文件编写器由用户在运行时使用命令行参数给出的日志文件路径启动。

当我尝试使用 eclipse 运行程序时,正在创建日志,但是当我运行可执行 jar 文件时,没有创建日志。可能是什么原因。

最佳答案

假设:您使用的是 Windows,并且正在从 Eclipse 创建此可执行 jar。

不确定你的完整代码是什么样的,这是我根据你的代码所做的:

package com.mumz.test.executable.jar;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;

public class JustPrint {
private static String logFile = "backooopLog.txt";
private static BufferedWriter logFileWriter;
private static void initLog() {
File logFileObj = new File(logFile);
try {
FileWriter fileWriter = new FileWriter(logFileObj);
logFileWriter = new BufferedWriter(fileWriter);
} catch (IOException e) {
e.printStackTrace();
}
}

/**
* @param args
*/
public static void main(String[] args) {
initLog();
String message = "hello word";
System.out.println(message);
try {
if (logFileWriter != null) {
logFileWriter.write(message);
logFileWriter.flush();
}
Runtime.getRuntime().exec("echo " + message);
} catch (IOException e1) {
e1.printStackTrace();
} finally{
try {
logFileWriter.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}

然后项目->右键单击->导出->Runnable Jar ->在启动配置中选择JustPrint并给出文件位置->完成

然后打开命令提示符浏览创建 jar 文件的位置,然后键入此命令

java -jar exectest.jar 

(考虑到 Java 路径已设置,并且我将 jar 名称指定为 exectest.jar,我可以看到在 jar 文件所在的同一目录中创建日志文件,在命令提示符下我可以在创建进程时进行堆栈跟踪。

现在,您可以跟踪您的代码,看看您是否做了类似或不同的事情,发布您的发现。

关于java - 运行可执行 jar 时打印编写器不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8366165/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com