Netbeans não encontra a classe org.apache.fop.apps.Driver!

8 respostas
A

E aí, pessoal, como vão?
Galera, estou com um problema com relação ao netbeans não encontrar a classe org.apache.fop.apps.Driver.

Já adicionei os seguintes jars (da versão fop 0.95) na lib:

avalon-framework-4.2.0.jar
fop.jar
jdom.jar (analisador que uso)

O problema é que o netbeans não encontra, de jeito nenhum, a classe org.apache.fop.apps.Driver!!

Nem oferece aquelas dicas de importação. Já tentei de tudo e não faço mais idéia do que está ocorrendo.

Aqui vai o código (até onde fiz) para alguém dar uma olhada e me ajudar!
Valeu!

import javax.xml.transform.Result;

import javax.xml.transform.TransformerFactory;

import javax.xml.transform.sax.SAXResult;

import org.apache.avalon.framework.logger.ConsoleLogger;

import org.apache.avalon.framework.logger.Logger;

public class GeraPdf {

private TransformerFactory transformerFactory;
private String pdfFile = "Cliente.pdf";

public GeraPdf() {

    this.transformerFactory = TransformerFactory.newInstance();
    //Criando o Driver.
    Driver driver = new Driver();//O erro está aqui!!!!!
    Logger logger = new ConsoleLogger(ConsoleLogger.LEVEL_INFO);
    Result res = new SAXResult();

}

}

8 Respostas

adriano_si

já fizeste o caminho da Classe em sua raiz pra ver se ela realmente existe ?? Se existir, tenta atualizar teu projeto ou fechar e abrir de novo… isso já aconteceu comigo…

A

E aí, Adriano_si, obrigado por responder.Cara, não entendi direito o que tu quis dizer com “já fizeste o caminho da Classe em sua raiz pra ver se ela realmente existe ??”

Fiz o que tu sugeriu - fechar e abrir ou atualizar o projeto e nada.

Onde posso ver esse caminho da classe?

Obrigado e fico no aguardo!

adriano_si

Cara é o seguinte, procura no diretório da tua aplicação, ou na raiz dos teus JARs se esse diretório org/apache/fop/apps/Driver pra ver se a classe Driver existe realmente…

Falows :wink:

A

E aí, Adriano, como vai?

Cara, eu já tinha pensado (um pouco) nisso, por isso, quando baixei o fop 0.95 procurei pelo endereço que tu escreveu aí em cima, e não encontrei.

No diretório da minha aplicação não tem nada além dos subdiretórios src, build, etc…

Estou seguindo o exemplo de um curso que fiz e na apostila diz que, de todo o diretório fop 0.95 (ou outro), devo copiar apenas os jars que indiquei na primeira mensagem do forum. Será que é esse o erro?

Na verdade, não encontrei o caminho que tu especificou até no diretório fop 0.95!!! Será um erro?

No aguardo e obrigado mais uma vez.

adriano_si

O NetBeans vai procurar em todos os diretórios que estão setados em seu ClassPath… toda e qualquer classe que não estiver lá não tem como ele achar…

Fiz uma busca no Google e não achei nada parecido com seu caso…

Me passa o diretório da tua aplicação e os 3 JARs pra adicionar, que vou verificar isso aqui…

Me diz a versão do teu NetBeans também…

Falows :wink:

A

E aí Adriano, desculpe a demora, pois estava no trabalho.

Bah,legal se tu puder testar aí para mim! Preciso muito disso!

Cara, aí vai o que tu pediu e a versão do meu netbeans é 6.0.1.

Adicionei os jars com o botão direito do mouse no próprio projeto, no subdiretório "bibliotecas’, além de “plataformas java”, na barra de ferramentas.

Não estou conseguindo passar o fop.jar, pois o limite aqui é 512, mas o fop que estou usando ó da versão 0.95.

Fico no aguardo, ok? Até!

A

E aí, Adriano, como vai? Cara, de tanto pesquisar encontrei alguns artigos sobre a versão fop 0.95 em particular, e a classe Driver não é mais utilizada, sendo substituída pela classe Fop.

Estou testando um exemplo aqui acho que estou conseguindo. De repente, pode me ajudar com um erro ue está dando aqui:

ERROR: ‘Error(Unknown location): fo:page-sequance is not a valid child element of fo:root.’

Tu já deve conhecer fop melhor que eu, se souber o porquê desse erro, acho que funciona, ok? Até!

Ah, aqui vai o exemplo:

<?xml version="1.0" encoding="UTF-8"?>

<xsl:stylesheet xmlns:xsl=“http://www.w3.org/1999/XSL/Transform” version=“1.1”
xmlns:fo=“http://www.w3.org/1999/XSL/Format” exclude-result-prefixes=“fo”>
<xsl:output method=“xml” version=“1.0” omit-xml-declaration=“no” indent=“yes”/>

<!-- TODO customize transformation rules 
     syntax recommendation http://www.w3.org/TR/xslt 
-->

<xsl:param name="versionParam" select="1.0"/>
<xsl:template match="Cliente">
    <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
        <fo:layout-master-set>
            <fo:simple-page-master master-name="simpleA4" page-height="29.7cm" page-width="21cm"
                                   margin-top="2cm" margin-left="2cm" margin-right="2cm">
                <fo:region-body margin-top="80pt"/>
                <fo:region-before extent="1.5in" border="0" padding="0" display-align="after"/>
                <fo:region-after extent="1in" border="0" padding="0" display-align="after"/>
            </fo:simple-page-master>
        </fo:layout-master-set>
        <fo:page-sequance master-reference="simpleA4">
            <fo:static-content flow-name="xsl-region-before">
                <fo:block>
                    <fo:external-graphic src="pdf.gif" content-height="1em" content-width="1em"/>
                </fo:block>
            </fo:static-content>
            <fo:static-content flow-name="xsl-region-after" font-size="8pt" font-style="normal">
                <fo:block line-height="14pt" text-align="start" font-weight="bold">
                    Locadora DVD Show
                </fo:block>
                <fo:block line-height="14pt" text-align="start">
                    Rua Rocha Pombo, 105 - Vila Independência
                </fo:block>
                <fo:block line-height="14pt" text-align="start">
                    Porto Alegre - RS - CEP:01234-567
                </fo:block>
                <fo:block line-height="14pt" text-align="start">
                    Tel:([telefone removido]. Fax:([telefone removido]
                </fo:block>
            </fo:static-content>
            <fo:flow flow-name="xsl-region-body">
                <fo:block line-height="14pt" text-align="center" font-weight="50pt">
                    DECLARAÇÃO
                </fo:block>
                <fo:block line-height="14pt" text-align="justify" sapce-before="50pt">
                    Eu, 
                    <xsl:value-of select="nome"/>
                    <xsl:value-of select="profissao"/>domiciliado na
                    <xsl:value-of select="logradouro"/>, no bairro
                    <xsl:value-of select="bairro"/>, na cidade de
                    <xsl:value-of select="cidade"/>, Estado
                    <xsl:value-of select="uf"/>, incrito(a) no CPF/CNPJ
                    <xsl:value-of select="cpf"/>, portador de cédula de identidade (RG):
                    <xsl:value-of select="rg"/>, declaro nesta data que:
                </fo:block>
                <fo:block font-size="11pt" line-height="17pt" text-align="justify" space-before="20pt">
                    Recebi da Locadora DVD Show Ltda. todos os valores que me eram devidos, devidamente corrigidos.
                </fo:block>
                <fo:block font-size="11pt" line-height="17pt" text-align="justify" space-before="20pt">
                    Declaro ainda que, a apartir desta data, nada tenho a exigir da empresa Locadora DVD Show Ltda.,
                    civil e/ou criminalmente, posto que esta empresa cumpriu com os termos da legislação vigente.
                </fo:block>
                <fo:block font-size="11pt" line-height="17pt" space-before="20pt">
                    Por ser verdade, firmo a presente em uma únic via.
                </fo:block>
                <fo:block font-size="11pt" line-height="17pt" space-before="60pt">
                    _________________________________________________________
                </fo:block>
                <fo:block font-size="11pt" line-height="17pt">
                    <xsl:value-of select="nome"/>
                </fo:block>
            </fo:flow>
        </fo:page-sequance>
    </fo:root>
</xsl:template>

</xsl:stylesheet>

A

Resolvido (acho)! Faltam apenas alguns ajustes de formatação para ficar mais apresentável, mas a nova classe (Fop) substitui, de fato, a Driver de versões antigas.

Obs: Os três Jars que mencionei na primeira mensagem não são suficientes, portanto, é necessário descompactar o fop 0.95, copiar o fop.jar e do diretório lib, todos os jars.

O jdom.jar também não é mais necessário,pois nesse exemplo, é utilizado o já conhecido SAX.

Até a proxima!

Criado 29 de dezembro de 2008
Ultima resposta 31 de dez. de 2008
Respostas 8
Participantes 2