A exceção Jasper Reports “pacote net.sf.jasperreports.engine não existe” no JDeveloper 11.1 usando o WebLogic apenas na Página da Web EAR

Estou usando o JDeveloper 11.1, Oracle 11 e TIBCO JasperReports 6.0.1.

Estou tendo problemas para tentar gerar o Jasper Reports da minha página da web (ViewController) enquanto utilizo um ApplicationModule (Model - EJB) para fazer isso. No final, o arquivo PDF deve ser enviado por e-mail, por isso o deixei entrar no projeto Model.

Se eu executar o ApplicationModule, ele funcionará bem, sem exceções, o PDF será muito bem gerado e enviado.

No entanto, se eu executar o método do cliente desde uma página da Web, recebi esta exceção:

net.sf.jasperreports.engine.JRException: Errors were encountered when compiling report expressions class file:
C:\Users\rodmar\AppData\Roaming\JDeveloper\system11.1.1.7.40.64.93\DefaultDomain\Simple_Blue_1429546047623_56582.java:4: package net.sf.jasperreports.engine does not exist
import net.sf.jasperreports.engine.*;
^
C:\Users\rodmar\AppData\Roaming\JDeveloper\system11.1.1.7.40.64.93\DefaultDomain\Simple_Blue_1429546047623_56582.java:5: package net.sf.jasperreports.engine.fill does not exist
import net.sf.jasperreports.engine.fill.*;
^
C:\Users\rodmar\AppData\Roaming\JDeveloper\system11.1.1.7.40.64.93\DefaultDomain\Simple_Blue_1429546047623_56582.java:18: cannot find symbol
symbol: class JREvaluator
public class Simple_Blue_1429546047623_56582 extends JREvaluator
                                                     ^
C:\Users\rodmar\AppData\Roaming\JDeveloper\system11.1.1.7.40.64.93\DefaultDomain\Simple_Blue_1429546047623_56582.java:25: cannot find symbol
symbol  : class JRFillParameter
location: class Simple_Blue_1429546047623_56582
    private JRFillParameter parameter_REPORT_LOCALE = null;
            ^
C:\Users\rodmar\AppData\Roaming\JDeveloper\system11.1.1.7.40.64.93\DefaultDomain\Simple_Blue_1429546047623_56582.java:26: cannot find symbol
symbol  : class JRFillParameter
location: class Simple_Blue_1429546047623_56582
    private JRFillParameter parameter_Description = null;
            ^
C:\Users\rodmar\AppData\Roaming\JDeveloper\system11.1.1.7.40.64.93\DefaultDomain\Simple_Blue_1429546047623_56582.java:27: cannot find symbol
symbol  : class JRFillParameter
location: class Simple_Blue_1429546047623_56582
    private JRFillParameter parameter_JASPER_REPORT = null;
            ^
C:\Users\rodmar\AppData\Roaming\JDeveloper\system11.1.1.7.40.64.93\DefaultDomain\Simple_Blue_1429546047623_56582.java:28: cannot find symbol
symbol  : class JRFillParameter
location: class Simple_Blue_1429546047623_56582
    private JRFillParameter parameter_REPORT_VIRTUALIZER = null;
            ^

Estou apenas colando um fragmento.

Estou usando outros .jars como POI, para ler arquivos .xlsx e inseri-los no banco de dados para não saber por que posso acessar o POI sem nenhum problema, mas ao mesmo tempo não tenho o Jasper Reports disponível.

Eu já procurei algumas soluções na web, mas nada resolve meus problemas. Eu recebo algumas informações sobrecompilador jdt mas não o encontro no pacote JasperReports. Meu projeto é realmente uma bagunça com todas essas bibliotecas, talvez esteja faltando ou adicionando muitas?

Meu projeto EAR no momento é assim:

O EAR \ lib:

Esse é um tipo de problema para configurações de frascos ou algo assim. Eu já tinha encontrado esta página, mas é realmente estranho, não acho que meu problema seja algo tão complicado.

http://docs.oracle.com/cd/E25178_01/fusionapps.1111/e15524/adv_wls_e.htm

EDIT 1:

Eu tentei olhar para o meu caminho de classe usando este código:

ClassLoader cl = ClassLoader.getSystemClassLoader();
URL[] urls = ((URLClassLoader)cl).getURLs();
for (URL url: urls) {
    logger.info(String.format("Classpath: %s.", url.toString()));
}

E eu recebo essa saída. O POI não está aqui, mas por que estou usando-o sem problemas enquanto não sou capaz de usar o JasperReports?

1) Por padrão, o POI.jar é usado na instalação básica do WebLogic 10.3?NÃO

EDIT 2:

Eu descobri isso emWebLogic é necessário acessarweblogic.utils.classloaders.GenericClassLoader que me envia todas as bibliotecas que pertencem a este aplicativo EAR. Ao usá-lo, os Relatórios Jasper estão disponíveis, mas não sei o que fazer para acessá-los com êxito ...

GenericClassLoader jre = (GenericClassLoader) JREvaluator.class.getClassLoader();
logger.info(String.format("jre: %s, s.", jre, jre.getClassPath()));

Muito obrigado,

questionAnswers(2)

yourAnswerToTheQuestion