Для важного проекта я пытаюсь использовать стороннюю библиотеку JLR для экспорта отформатированного отчета PDF.
Это работало корректно до двух дней назад, когдапри наведении курсора на файл .tex, который я использую в качестве шаблона для отчета в средстве просмотра файлов IDE NetBeans, отображается подсказка, обозначающая файл как «нераспознанный файл».Он также больше не будет импортироваться как ресурс, так как при использовании метода класса getResource
или его метода ClassLoader.getResource
полученный объект File
не существует.У меня все в своем рабочем каталоге на своем месте, и я ссылаюсь на него через относительный путь к файлу.
- Что это значит?
- Как я могу получить файл, который будет распознан?
- Можно ли предотвратить повторение этого с этим типом файла?
РЕДАКТИРОВАТЬ: я попытался изменить, с каким типом MIME NetBeans связывает файл, чтобы увидеть, распознает ли его NetBeans, но это имеетбыл неудачным.
РЕДАКТИРОВАТЬ: Вот соответствующий код, если кто-то хочет видеть.
public Boolean createAndFormatLaTex(String nameOfExercise, String author, String date, String desc, List<Rule> rulesToPrint) {
Boolean success = true;
gen = new JLRGenerator();
try {
ClassLoader cl = this.getClass().getClassLoader();
URL templateLoc = cl.getResource("resources/templateRep.tex");
File templateFile = new File(templateLoc.getFile());
//URL workDirLoc = cl.getResource(System.getProperty("user.home")+File.separator+"MaMoOr"+File.separator+"resources"+File.separator);
File workDir = new File(System.getProperty("user.home")+File.separator+"MaMoOr"+File.separator+"resources"+File.separator);
//URL tempDirLoc = cl.getResource(System.getProperty("user.home")+File.separator+"MaMoOr"+File.separator+"resources"+File.separator+"temp"+File.separator);
File tempDir = new File(System.getProperty("user.home")+File.separator+"MaMoOr"+File.separator+"resources"+File.separator+"temp"+File.separator);
File reptemp1 = new File(tempDir.getAbsolutePath() + File.separator + nameOfExercise+"-report.tex");
String s = templateFile.getAbsolutePath();
templateFile.setReadable(true);
conv = new JLRConverter(workDir);
conv.replace("date", date);
conv.replace("description", desc);
conv.replace("authorName", author);
conv.replace("nameOfExercise", nameOfExercise);
conv.replace("rulesToPrint", rulesToPrint);
if (!conv.parse(templateFile, reptemp1)) {
success = false;
}
File desktop = new File(System.getProperty("user.home") + File.separator + "Desktop");
if(!gen.generate(reptemp1, desktop ,workDir))
{
success = false;
}
reptemp1.deleteOnExit();
tempDir.deleteOnExit();
} catch (IOException iex) {
System.out.println(iex.getMessage());
return false;
//} catch (URISyntaxException ex) {
// Logger.getLogger(LaTexParser.class.getName()).log(Level.SEVERE, null, ex);
// return false;
}catch(NullPointerException nex){
Logger.getLogger(LaTexParser.class.getName()).log(Level.SEVERE, null, nex);
return false;
}
return success;
}