사용자에게 첨부 파일이있는 전자 메일을 보내는 프로그램이 있습니다. 프로그램은 예정된 시간에 따라 실행되어야하며, 그 때문에 나는 그것을 위해 작업 스케줄러를 사용합니다. 나는 이것을 실현하기 위해 필요한 모든 조치를 취했다. (jar 파일을 활성화/실행하기 위해 .bat 파일을 작성하면 작업 스케줄러가 지정된 스케줄에 도달하면 .bat 파일을 트리거합니다.) 문제는 지금 프로그램이 실행되거나 태스크 스케줄러에 의해 트리거 될 때 해제된다는 것입니다 이 오류 :작업 스케줄러와 함께 사용하면 jFileChooser가 작동하지 않습니다.
java.lang.NullPointerException
at sun.awt.shell.Win32ShellFolder2$1.call(Unknown Source)
at sun.awt.shell.Win32ShellFolder2$1.call(Unknown Source)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at sun.awt.shell.Win32ShellFolderManager2$ComInvoker$3.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
나는 .bat 파일을 사용하여 수동으로 실행 시도하고 오류없이 또는 전혀 함께 잘 작동합니다. 그것은 기본 디렉토리에 첨부 파일을 검색 못해서 jFileChooser()와 관련이 있다고 의심 스럽지만 확실하지는 않습니다. 다른 원인이있을 수 있습니다.
public String getMyDocument(String filename)
{
JFileChooser fr = new JFileChooser();
FileSystemView fw = fr.getFileSystemView();
return fw.getDefaultDirectory().toString()+"\\"+filename+".xls";
}
PS : 다음은 기본 디렉토리에 첨부 파일을 검색하는 기능입니다.
모든 필수 첨부 파일은 기본 디렉토리에 있으며 맞춤법이 틀린 단어 또는 잘못 배치 된 문자는 없습니다. 나는 또한 연구를했지만 아직까지는 어떤 해결책도 찾지 못했습니다.
어떤 작업 스케줄러를 사용하고 있습니까? 창문 아래있어? –
Yeap. Windows 작업 스케줄러. – jaycroll
은 .bat 파일의 내용입니다 :'java -jar EmailNotification.jar >> javalogs.txt' – jaycroll