Erro ao tentar abrir relatório via jar

Bom dia, criei um relatório em jasper, gerei .jar da aplicação para rodar fora do eclipse, coloquei o caminho correto com getabsolutPath, pega normal, ao executar pelo eclipse, funcionar, se eu executar fora funciona somente se o caminho de criação do jasper estiver ok. Não deveria funcionar pegando o diretório padrão?
Fonte:

public void negAtraso() throws IOException, JRException {
		BusinessDAODB businessDAODB = new BusinessDAODB();
		arquivo = new File("negAtraso.jasper");
		String caminho = arquivo.getAbsolutePath();
		System.out.println(caminho);
		System.out.println(arquivo.getAbsolutePath());
		List<BusinessPojo> negocios;
		negocios = businessDAODB.negAtraso();
		if (negocios.size() > 0) {			

			JasperReport relatorio = (JasperReport) JRLoader.loadObjectFromFile(caminho);			
			
			JasperPrint print = JasperFillManager.fillReport(relatorio, null, new JRBeanCollectionDataSource(negocios));
			
			JasperViewer.viewReport(print, false);
		}else{
			notifier.notify(new Notification("Erro", "Não há dados a serem gerados", Notification.ERROR_ICON));
		}

	}

Erro gerado ao executar mesmo colocando o arquivo(Jasper gerado) junto com o .jar

Caused by: java.lang.IllegalArgumentException: name
        at sun.misc.URLClassPath$Loader.findResource(URLClassPath.java:693)
        at sun.misc.URLClassPath.findResource(URLClassPath.java:215)
        at java.net.URLClassLoader$2.run(URLClassLoader.java:569)
        at java.net.URLClassLoader$2.run(URLClassLoader.java:567)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findResource(URLClassLoader.java:566)
        at java.lang.ClassLoader.getResource(ClassLoader.java:1096)
        at net.sf.jasperreports.engine.util.JRResourcesUtil.findClassLoaderResou
rce(JRResourcesUtil.java:569)
        at net.sf.jasperreports.repo.DefaultRepositoryService.getInputStream(Def
aultRepositoryService.java:110)
        at net.sf.jasperreports.repo.InputStreamPersistenceService.load(InputStr
eamPersistenceService.java:47)
        at net.sf.jasperreports.repo.DefaultRepositoryService.getResource(Defaul
tRepositoryService.java:159)
        at net.sf.jasperreports.repo.RepositoryUtil.findInputStream(RepositoryUt
il.java:190)
        at net.sf.jasperreports.repo.RepositoryUtil.getBytesFromLocation(Reposit
oryUtil.java:206)
        at net.sf.jasperreports.engine.RenderableUtil.getRenderable(RenderableUt
il.java:122)
        at net.sf.jasperreports.engine.fill.JRFillImage.evaluateImage(JRFillImag
e.java:584)
        at net.sf.jasperreports.engine.fill.JRFillImage.evaluate(JRFillImage.jav
a:520)
        at net.sf.jasperreports.engine.fill.JRFillElementContainer.evaluate(JRFi
llElementContainer.java:258)
        at net.sf.jasperreports.engine.fill.JRFillBand.evaluate(JRFillBand.java:
454)
        at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillTitle(JRVertica
lFiller.java:318)
        at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportStart(JRV
erticalFiller.java:254)
        at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVertic
alFiller.java:122)
        at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:
551)
        at net.sf.jasperreports.engine.fill.BaseReportFiller.fill(BaseReportFill
er.java:411)
        at net.sf.jasperreports.engine.fill.JRFiller.fill(JRFiller.java:122)
        at net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.
java:667)
        at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillMa
nager.java:983)
        at br.ind.risc.follow.controller.MainController.negAtraso(MainController
.java:144)
        ... 53 more

Diretório padrão seria o diretório onde o jar se encontra?
Esta mensagem me intriga Caused by: java.lang.IllegalArgumentException: name.
Onde está a parte do Caused By do stacktrace do erro?

Está no mesmo caminho, coloquei um System.out pra ver.
Segue o erro completo.


C:\Risc>java -jar FollowTE.jar
C:\Risc\negAtraso.jasper
C:\Risc\negAtraso.jasper
Exception in thread "JavaFX Application Thread" java.lang.RuntimeException: java
.lang.reflect.InvocationTargetException
        at javafx.fxml.FXMLLoader$MethodHandler.invoke(FXMLLoader.java:1774)
        at javafx.fxml.FXMLLoader$ControllerMethodEventHandler.handle(FXMLLoader
.java:1657)
        at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(Comp
ositeEventHandler.java:86)
        at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventH
andlerManager.java:238)
        at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventH
andlerManager.java:191)
        at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDis
patcher.java:58)
        at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispat
chChainImpl.java:114)
        at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
        at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:49)
        at javafx.event.Event.fireEvent(Event.java:198)
        at javafx.scene.control.MenuItem.fire(MenuItem.java:462)
        at com.sun.javafx.scene.control.skin.ContextMenuContent$MenuItemContaine
r.doSelect(ContextMenuContent.java:1405)
        at com.sun.javafx.scene.control.skin.ContextMenuContent$MenuItemContaine
r.lambda$createChildren$343(ContextMenuContent.java:1358)
        at com.sun.javafx.event.CompositeEventHandler$NormalEventHandlerRecord.h
andleBubblingEvent(CompositeEventHandler.java:218)
        at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(Comp
ositeEventHandler.java:80)
        at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventH
andlerManager.java:238)
        at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventH
andlerManager.java:191)
        at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(C
ompositeEventDispatcher.java:59)
        at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDis
patcher.java:58)
        at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispat
chChainImpl.java:114)
        at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDis
patcher.java:56)
        at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispat
chChainImpl.java:114)
        at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDis
patcher.java:56)
        at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispat
chChainImpl.java:114)
        at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDis
patcher.java:56)
        at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispat
chChainImpl.java:114)
        at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
        at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:54)
        at javafx.event.Event.fireEvent(Event.java:198)
        at javafx.scene.Scene$MouseHandler.process(Scene.java:3757)
        at javafx.scene.Scene$MouseHandler.access$1500(Scene.java:3485)
        at javafx.scene.Scene.impl_processMouseEvent(Scene.java:1762)
        at javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2494)
        at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotificatio
n.run(GlassViewEventHandler.java:381)
        at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotificatio
n.run(GlassViewEventHandler.java:295)
        at java.security.AccessController.doPrivileged(Native Method)
        at com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleMouseEve
nt$354(GlassViewEventHandler.java:417)
        at com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(Quantum
Toolkit.java:389)
        at com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(Glas
sViewEventHandler.java:416)
        at com.sun.glass.ui.View.handleMouseEvent(View.java:555)
        at com.sun.glass.ui.View.notifyMouse(View.java:937)
        at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
        at com.sun.glass.ui.win.WinApplication.lambda$null$148(WinApplication.ja
va:191)
        at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at sun.reflect.misc.Trampoline.invoke(MethodUtil.java:71)
        at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:275)
        at javafx.fxml.FXMLLoader$MethodHandler.invoke(FXMLLoader.java:1771)
        ... 43 more
Caused by: java.lang.IllegalArgumentException: name
        at sun.misc.URLClassPath$Loader.findResource(URLClassPath.java:693)
        at sun.misc.URLClassPath.findResource(URLClassPath.java:215)
        at java.net.URLClassLoader$2.run(URLClassLoader.java:569)
        at java.net.URLClassLoader$2.run(URLClassLoader.java:567)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findResource(URLClassLoader.java:566)
        at java.lang.ClassLoader.getResource(ClassLoader.java:1096)
        at net.sf.jasperreports.engine.util.JRResourcesUtil.findClassLoaderResou
rce(JRResourcesUtil.java:569)
        at net.sf.jasperreports.repo.DefaultRepositoryService.getInputStream(Def
aultRepositoryService.java:110)
        at net.sf.jasperreports.repo.InputStreamPersistenceService.load(InputStr
eamPersistenceService.java:47)
        at net.sf.jasperreports.repo.DefaultRepositoryService.getResource(Defaul
tRepositoryService.java:159)
        at net.sf.jasperreports.repo.RepositoryUtil.findInputStream(RepositoryUt
il.java:190)
        at net.sf.jasperreports.repo.RepositoryUtil.getBytesFromLocation(Reposit
oryUtil.java:206)
        at net.sf.jasperreports.engine.RenderableUtil.getRenderable(RenderableUt
il.java:122)
        at net.sf.jasperreports.engine.fill.JRFillImage.evaluateImage(JRFillImag
e.java:584)
        at net.sf.jasperreports.engine.fill.JRFillImage.evaluate(JRFillImage.jav
a:520)
        at net.sf.jasperreports.engine.fill.JRFillElementContainer.evaluate(JRFi
llElementContainer.java:258)
        at net.sf.jasperreports.engine.fill.JRFillBand.evaluate(JRFillBand.java:
454)
        at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillTitle(JRVertica
lFiller.java:318)
        at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportStart(JRV
erticalFiller.java:254)
        at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVertic
alFiller.java:122)
        at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:
551)
        at net.sf.jasperreports.engine.fill.BaseReportFiller.fill(BaseReportFill
er.java:411)
        at net.sf.jasperreports.engine.fill.JRFiller.fill(JRFiller.java:122)
        at net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.
java:667)
        at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillMa
nager.java:983)
        at br.ind.risc.follow.controller.MainController.negAtraso(MainController
.java:144)
        ... 53 more

Refiz o código inteiro, utilizei um exemplo da internet para JavaFX não abre, curioso é que não tenho nenhuma mensagem de erro no console.
O mais estranho ainda é que se eu executar o jar em qualquer local do computador ele funciona somente se o local de criação dos fontes estiver ok, coloquei o fonte para pegar o .jasper gerado de qualquer local.
Novo código.

Chamada:

public void negAtraso() throws IOException, JRException {
		
		try {
			BusinessDAODB businessDAODB = new BusinessDAODB();
			arquivo = new File("negAtraso.jasper");
			String caminho = arquivo.getAbsolutePath();
			System.out.println(caminho);
			System.out.println(arquivo.getAbsolutePath());
			List<BusinessPojo> negocios;
			negocios = businessDAODB.negAtraso();
			
			
			Report report = new Report(caminho, ownerWindow);
			report.printPreview(null, new JRBeanCollectionDataSource(negocios));
		} catch (Exception e) {
			e.printStackTrace();
		}
		
		
		/*if (negocios.size() > 0) {
			JasperReport relatorio = (JasperReport) JRLoader.loadObjectFromFile(caminho);

			JasperPrint print = JasperFillManager.fillReport(relatorio, null, new JRBeanCollectionDataSource(negocios));
			JasperViewer.viewReport(print, false);
		} else {
			notifier.notify(new Notification("Erro", "Não há dados a serem gerados", Notification.ERROR_ICON));
		}*/
		//btnFechar.getScene().getWindow().hide();
	
        
	}

Geração:

public class Report {
	private JasperReport jasperReport;
	private Window ownerWindow;

	public Report(String reportFileName, Window ownerWindow) {
		try {
			// jasperReport = (JasperReport)
			// JRLoader.loadObject(JRLoader.getResourceInputStream(reportFileName));
			jasperReport = (JasperReport) JRLoader.loadObjectFromFile(reportFileName);
			this.ownerWindow = ownerWindow;
		} catch (JRException ex) {
			ex.printStackTrace();
		}
	}

	public void export(String fileChooserTitle, String fileName, Map<String, Object> paramMap,
			JRBeanCollectionDataSource dataSource) {
		FileChooser fileChooser = new FileChooser();
		fileChooser.setTitle(fileChooserTitle);
		fileChooser.setInitialFileName(fileName);
		fileChooser.getExtensionFilters().addAll(new FileChooser.ExtensionFilter("PDF files", "*.pdf"),
				new FileChooser.ExtensionFilter("Excel files", "*.xlsx"),
				new FileChooser.ExtensionFilter("Word files", "*.docx"));
		File selectedFile = fileChooser.showSaveDialog(ownerWindow);

		if (selectedFile != null) {
			ownerWindow.getScene().setCursor(Cursor.WAIT);

			String extension = "";
			int i = selectedFile.getName().lastIndexOf('.');
			if (i > 0)
				extension = fileName.substring(i + 1);

			try {
				Exporter exporter;

				switch (extension.toLowerCase()) {
				case "pdf":
					exporter = new JRPdfExporter();
					SimplePdfExporterConfiguration config = new SimplePdfExporterConfiguration();
					config.setMetadataCreator("App name");
					exporter.setConfiguration(config);
					break;
				case "xlsx":
					exporter = new JRXlsxExporter();
					break;
				case "docx":
					exporter = new JRDocxExporter();
					break;
				default:
					return;
				}

				exporter.setExporterInput(
						new SimpleExporterInput(JasperFillManager.fillReport(jasperReport, paramMap, dataSource)));
				exporter.setExporterOutput(new SimpleOutputStreamExporterOutput(selectedFile));
				exporter.exportReport();
			} catch (JRException ex) {
				ex.printStackTrace();
			} catch (JRRuntimeException ex) { // File is being used by another
												// process and cannot be
												// overwritten
				System.out.println(ex.getMessage());
			} finally {
				ownerWindow.getScene().setCursor(Cursor.DEFAULT);
			}
		}
	}

	public void print(Map<String, Object> paramMap, JRBeanCollectionDataSource dataSource) {
		Task<JasperPrint> task = createReportTask(paramMap, dataSource);
		task.setOnSucceeded((WorkerStateEvent event) -> {
			ownerWindow.getScene().setCursor(Cursor.DEFAULT);

			try {
				JasperPrintManager.getInstance(DefaultJasperReportsContext.getInstance()).print(task.getValue(), true);
			} catch (JRException ex) {
				ex.printStackTrace();
			}
		});

		Thread th = new Thread(task);
		th.setDaemon(true);
		th.start();
	}

	public void printPreview(Map<String, Object> paramMap, JRBeanCollectionDataSource dataSource) {
		try {
			Task<JasperPrint> task = createReportTask(paramMap, dataSource);
			task.setOnSucceeded((WorkerStateEvent event) -> {
				ownerWindow.getScene().setCursor(Cursor.DEFAULT);

				JRPrintPreview printPreview = new JRPrintPreview(task.getValue());
				printPreview.initOwner(ownerWindow);
				printPreview.show();
			});

			Thread th = new Thread(task);
			th.setDaemon(true);
			th.start();
		} catch (Exception e) {
			e.printStackTrace();
		}

	}

	private Task<JasperPrint> createReportTask(Map<String, Object> paramMap, JRBeanCollectionDataSource dataSource) {
		Task<JasperPrint> task = new Task<JasperPrint>() {
			@Override
			protected JasperPrint call() throws Exception {
				ownerWindow.getScene().setCursor(Cursor.WAIT);
				return JasperFillManager.fillReport(jasperReport, paramMap, dataSource);
			}
		};

		task.setOnFailed(event -> ownerWindow.getScene().setCursor(Cursor.DEFAULT));
		return task;
	}
}