iReport não começa a usar JRE 8

89

Baixei e instalei o iReport 4.5 usando o instalador do Windows. Mas quando tento iniciar o iReport, ele mostra a tela inicial, mas não inicia.

Minha versão JRE é 8.

user2717410
fonte
3
JasperReports não oferece suporte a Java 8 ainda.
Endrik
4
E parece que não há intenção de oferecer suporte ao Java 8. iReport está em modo de manutenção até o final de 2015 ( community.jaspersoft.com/project/ireport-designer ). Jasper Studio agora é a ferramenta com suporte. Consulte superuser.com/questions/607874/… para saber por que não funciona (o NetBeans 7.4, no qual o iReport é baseado, tem um problema de compatibilidade com o Java 8). A solução do xtsoler funciona, embora você não precise alterar os arquivos de configuração ou colocar o jre7 em um diretório especial, você pode simplesmente iniciar o iReport apontando para o jre:ireport --jdk /my/path/to/jre7
Glenn

Respostas:

151

Há outra maneira, se você não quiser ter versões anteriores do Java instaladas, você pode fazer o seguinte:

1) Baixe o iReport-5.6.0.zip em https://sourceforge.net/projects/ireport/files/iReport/iReport-5.6.0/

2) Baixe jre-7u67-windows-x64.tar.gz (aquele compactado em um tar) em https://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261 .html

3) Extraia o iReport e na pasta extraída que contém as pastas bin e etc jogue no jre. Por exemplo, se você descompactar duas vezes o jre-7u67-windows-x64.tar.gz, você terá uma pasta chamada jre1.7.0_67. Coloque essa pasta no diretório iReport-5.6.0:

insira a descrição da imagem aqui

e então vá para a pasta etc e edite o arquivo ireport.conf e adicione a seguinte linha a ele:

Para Windows jdkhome = ". \ Jre1.7.0_67"

Para Linux jdkhome = "./ jre1.7.0_67"

Nota: a versão do jre pode mudar! de acordo com seu download de 1.7

insira a descrição da imagem aqui

agora, se você executar o ireport_w.exe da pasta bin no diretório iReport, ele deve carregar perfeitamente.

xtsoler
fonte
2
Adicionar o jdkhome fez isso por mim. Também para versões mais antigas: 4.7.0 e 4.1.2
Dimitri Dewaele
Isso funcionou para mim. Tenho o Java 8, usei uma versão diferente: 1.7.0.79.
Noldy
2
só para confirmar que o problema de não funcionar com o Java 8 vai até a versão 5.6.0 pelo menos (a mais atual na hora do comentário)
Hubert Schumacher
1
Parte da etapa 3 como colocar a instalação do Java na pasta iReport é desnecessária. Basicamente, você pode colocá-lo em qualquer lugar e eu nunca o colocaria em nenhum outro lugar, então deveria ser: a pasta Arquivos de programas. Verifique outras respostas também ..
BlondCode
Como quiser. No entanto, o ponto aqui é que você precisa daquele jre antigo apenas para inicializar este portal.
xtsoler de
59

não desinstale nada. um sistema com várias versões de java funciona bem. e você não precisa atualizar suas variáveis ​​de ambiente (por exemplo, java_home, caminho, etc.).

sim, o ireports 3.6.1 precisa do java 7 (não funciona com o java 8).

tudo que você precisa fazer é editar C: \ Arquivos de Programas \ Jaspersoft \ iReport-nb-3.6.1 \ etc \ ireport.conf:

# default location of JDK/JRE, can be overridden by using --jdkhome <dir> switch
jdkhome="C:/Program Files/Java/jdk1.7.0_45"

no linux (sem espaços e caminhos de arquivo padrão) é muito mais fácil. guarde seu java 8 para outros projetos interessantes ...

tom
fonte
17

iReport não funciona com java 8.

  • se ainda não estiver instalado, baixe e instale o java 7
  • encontre o diretório de instalação do seu iReport e abra o arquivo: ireport.conf

(você o encontrará aqui: iReport-xxx \ etc \)

mude esta linha:

#jdkhome="/path/to/jdk"

para isso (se não for seu diretório de instalação do java 7, substitua o valor do parâmetro entre "" s pelo caminho do java 7 instalado):

jdkhome="C:\Program Files\Java\jdk1.7.0_67"
BlondCode
fonte
funciona com uma versão antiga como iReport-3.7.2 também
BlondCode
Portanto, para ser compreensível: isso não altera as configurações padrão do Java (ou da sua empresa), por isso recomendo. Isso muda o comportamento do iReport: o iReport irá pesquisar o jdk que você pediu para pesquisar em vez de usar as configurações Java padrão. Não importa se você atualizará seu Java no futuro, o iReport ainda funcionará até que o antigo Java exista em algum lugar de sua máquina. :) Não vou votar contra os hackers de registro, mas não diria que hackear o registro é uma solução.
BlondCode
9

Embora o ireport não suporte oficialmente o java8, existe uma maneira bastante simples de fazer o ireport (testado com o ireport 5.1) funcionar com o Java 8. O problema está na verdade no netbeans. Existe um patch muito simples, supondo que você não se importe com a segurança aprimorada no Java 8:

http://hg.netbeans.org/jet-main/diff/3238e03c676f/openide.util/src/org/openide/util/WeakListenerImpl.java

Eu nem mesmo usei a fonte exata do netbeans usada pelo ireport. Acabei de baixar o WeakListenerImpl.java mais recente completo do repositório acima e compilei-o no diretório ireport com platform9 / lib / org-openide-util.jar no classpath do compilador

cd blah/blah/iReport-5.1.0
wget http://hg.netbeans.org/jet-main/raw-file/3238e03c676f/openide.util/src/org/openide/util/WeakListenerImpl.java
javac -d . -cp platform9/lib/org-openide-util.jar WeakListenerImpl.java
zip -r platform9/lib/org-openide-util.jar org

Estou evitando executar o Eclipse apenas para editar relatórios Jasper enquanto posso. O ireport baseado em netbeans é muito mais leve. Executar o Eclipse é como usar o emacs.

Stuart Gathman
fonte
1
Ele está relacionado a este bug: netbeans.org/bugzilla/show_bug.cgi?id=229191 Mas o iReport não foi atualizado.
Gilberto
2
Obrigado, obrigado, obrigado! Você é um salva-vidas! Tentei executar o ireport 5.6 com Java 8 e vi que ele não inicializava. Então tentei baixar o java 7, mas o oracle permite que apenas clientes do oracle baixem (!) ... Então eu bati em uma parede até que topei com sua solução que funcionou muito bem! Você salvou meu dia :)
Serafeim
1
Esta é realmente uma solução muito melhor do que instalar o JDK7. Não sei por que tem tão poucos votos. Embora o patch de uma linha desabilite algumas melhorias na segurança do JDK8, o resultado não é pior (e provavelmente melhor) do que rodar no JDK7.
Stuart Gathman
5

Funciona apenas com JRE 1.7, basta fazer o download e extrair para o local de sua preferência

e use o seguinte comando para abrir o iReport

ireport --jdkhome Path To JDK Home
Hany Sakr
fonte
4

Corrigi isso no meu PC, no meu ambiente o iReport era iReport-5.1.0, tanto o jdk 7 quanto o jdk 8 foram instalados.

mas o iReport não carregou

correção: - 1. Encontre o iReport.conf // C: \ Arquivos de programas (x86) \ Jaspersoft \ iReport-5.1.0 \ etc

  1. Abra-o no editor de texto

  2. copie o caminho de instalação do jdk // C: \ Arquivos de programas (x86) \ Java \ jdk1.8.0_60

  3. adicione jdkhome = ao arquivo ireport.conf jdkhome = "C: / Arquivos de programas (x86) /Java/jdk1.8.0_60"

insira a descrição da imagem aqui

Agora o iReport funcionará

Ravinath
fonte
1

Com o ireport 4.7.1, após configurar o jdkhome etc/ireport.conf, ireport.exeele não inicia. Sem respingos, sem janela.

Quando eu inicio ireport_w.exeem um cmd, recebo esta mensagem:

Ocorreu um erro durante a inicialização da VM

Não foi possível reservar espaço suficiente para a pilha do objeto

Erro: não foi possível criar a Java Virtual Machine.

Erro: ocorreu uma exceção fatal. O programa irá encerrar.

Solução: no arquivo etc / ireport.conf, na linha começando com default_options, eu reduzi o valor de -J-XX:MaxPermSize para 256m em vez de 512m

default_options="--branding ireport -J-Xms256m -J-Xmx512m
    -J-Dorg.netbeans.ProxyClassLoader.level=1000 -J-XX:MaxPermSize=256m"
JpTy
fonte
Certifique-se de não ter nenhuma variável de ambiente como _JAVA_OPTIONSessa que substituirá essas configurações. Eu tinha uma variável de ambiente que definia o tamanho do heap para 1 GB. Teve precedência sobre as default_optionsconfigurações aqui. Depois de excluído, o iReport foi executado com sucesso.
ADTC
0

Eu estava cansado de pesquisar no google como executar o iReport com java 8.

Fiz tudo como dizia na Internet, mas não sei porque não funcionaram para mim.

Então eu mudo meu computador JDK versão atual de 1.8 para 1.7 usando o Editor do Registro.

Agora funciona bem.

Para alterar a versão atual

Iniciar => Digite regedit (pressione Enter) => HKEY_LOCAL_MACHINE => SOFTWARE => JavaSoft => Java Development Kit => Alterar o valor da chave de CurrentVersion de 1.8 para 1.7

Geeth Sri Kavinda
fonte
0

Para mim, a combinação das respostas de Stuart Gathman e Raviath neste tópico funcionou no Windows Server 2016 para iReport 5.6.0.

Além disso, adicionei um link simbólico em C: \ arquivos de programas \ java \ jre7 para jdk8 como este:

cmd /c mklink /d "C:\program files\java\jre7\bin" "C:\Program Files\Java\jdk1.8.0_181\bin"

porque o iReport estava constantemente reclamando que não conseguia encontrar java.exe em C: \ arquivos de programas \ java \ jre7 \ bin \ - Então, servi o java.exe disponível (no meu caso V8.181) no caminho desejado e engoliu com prazer.

John Ranger
fonte
0

Instalei o IReport 5.6 com Java 7: não funciona

Tentei instalar o Java 6 e adicionei o caminho para o arquivo "ireport.conf" como a captura de tela anexada e funcionou bem: Dinsira a descrição da imagem aqui

Portanto, as etapas são:

 Install IReport 5.6
 Install JDK 6
 Edit "ireport.conf" file like the below image and Enjoy ;)
Mohamed A M-Hassan
fonte