1) Это способ получить путь к отчету в jar-файлах?
Да, позвоните по номеру getClass().getClassLoader().getResources("mireporte.jasper")
- он выдаст вам список ресурсов, соответствующий названию.
2) Можно ли открывать отчеты из файла jar?
Да! Используйте getClass().getResourceAsStream("...")
и читайте с него!
Пример:
public static void main(String... args) throws IOException {
final ClassLoader cl = GetResource.class.getClassLoader();
// print all resources (could be more than one)
Enumeration<URL> resources =
cl.getResources("foo/bla/tjo/mireporte.jasper");
while (resources.hasMoreElements())
System.out.println(resources.nextElement());
// read one of the files
Scanner s = new Scanner(
cl.getResourceAsStream("foo/bla/tjo/mireporte.jasper"));
try {
while (s.hasNextLine()) {
System.out.println(s.nextLine());
}
} finally {
if (s != null)
s.close();
}
}