Ajuda no jasperReport

Galera eu estou com um probleminha para chamar os relatorios do jaspereports atraves de um botão em uma tela,
o meu codigo está desta forma:

import java.util.HashMap;
import java.util.Map;
import java.util.logging.Level;
import java.util.logging.Logger;
import net.sf.jasperreports.view.JasperViewer;
import net.sf.jasperreports.engine.*;
import net.sf.jasperreports.engine.util.JRLoader;
import jdbc.mvc.controller.Conexao;
import net.sf.jasperreports.engine.JasperFillManager;
import org.apache.commons.collections.map.HashedMap;


try {   
JasperCompileManager copiller = new JasperCompileManager();   
JasperReport report = copiller.compileReport("\\controller.teste.jrxml");   
JasperPrint print = JasperFillManager.fillReport(report, new HashedMap(), new JREmptyDataSource());   
JasperViewer view = new JasperViewer(print);   
view.viewReport(print);   
} catch (JRException ex) {   
Logger.getLogger(Relatorio.class.getName()).log(Level.SEVERE, null, ex);   
}  

o erro esta dando na primeira linha apos o try, se puderem me ajudar agradeço muito

O JasperCompileManager não pode ser instanciado. Você precisa utiliza-lo da seguinte forma

JasperReport jr = JasperCompileManager.compileReport("arquivo.jrxml");

eu fiz isso que vc me falou mais na hora que eu coloco JasperComplilManager.compileReport, ele ja da erro

Qual a mensagem do erro, camarada?

Eu ja consegui corrigir aquele erro, muito obrigado mais agora o erra esta na linha de baixo que agora eu coloquei assim

JasperReport report = jr("\\controller/teste/jrxml");

e mais uma perguntinha
o relatorio que eu montei precisa esta no mesmo pacote do que a classe que eu estou criando para chamar ele ou nao necessariamente?
porque a minha classe estou criando em um pacote diferente

é a primeira vez que eu to mexendo com o jasper

Camarada, isso é coisa que se faça?

JasperReport report = jr("\\controller/teste/jrxml"); 

Qual o método de jr que você está chamando?
Não, não é preciso estar no mesmo package, pode estar até em outra máquina.