iReportがJRE8の使用を開始していません


88

Windowsインストーラーを使用してiReport4.5をダウンロードしてインストールしました。しかし、iReportを起動しようとすると、スプラッシュ画面が表示されますが、起動しません。

私のJREバージョンは8です。


3
JasperReportsはまだJava8をサポートしていません。
Endrik 2014年

4
また、Java 8をサポートする意図はないようです。iReportは2015年末までメンテナンスモードになっています(community.jaspersoft.com/project/ireport-designer)。JasperStudioがサポートされるツールになりました。動作しない理由については、superuser.com / questions / 607874 /を参照してください(iReportのベースとなっているNetBeans 7.4には、Java 8との互換性の問題があります)。xtsolerのソリューションの作品、あなたは特別なディレクトリの変更設定ファイルまたはプットjre7する必要はありませんが、あなたは単にJREを指すiReportはを起動することができます:ireport --jdk /my/path/to/jre7
グレン

回答:


150

古いバージョンのJavaをインストールしたくない場合は、次の方法があります。

1)https://sourceforge.net/projects/ireport/files/iReport/iReport-5.6.0/からiReport-5.6.0.zipをダウンロードします

2)https://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261からjre-7u67-windows-x64.tar.gz(tarにパックされたもの)をダウンロードします。 .html

3)iReportを抽出し、抽出されたフォルダーにbinなどのフォルダーが含まれています。たとえば、jre-7u67-windows-x64.tar.gzを2回解凍すると、jre1.7.0_67という名前のフォルダになります。そのフォルダをiReport-5.6.0ディレクトリに置きます。

ここに画像の説明を入力してください

次に、etcフォルダーに移動し、ファイルireport.confを編集して、次の行を追加します。

Windowsの場合jdkhome = "。\ jre1.7.0_67"

Linuxの場合jdkhome = "./ jre1.7.0_67"

注:jreバージョンは変更される可能性があります!1.7のダウンロードによると

ここに画像の説明を入力してください

これで、iReportディレクトリのbinフォルダからireport_w.exeを実行すると、正常に読み込まれるはずです。


2
jdkhomeを追加することは私のためにそれをしました。古いバージョンの場合:4.7.0および4.1.2
Dimitri

これは私にとってトリックでした。私はJava8を使用しており、別のバージョン1.7.0.79を使用しました。
noldy 2016年

2
Java 8で動作しないという問題が、少なくともバージョン5.6.0までであるかどうかを確認するだけです(コメント時点で最新)
Hubert Schumacher

1
JavaインストールをiReportのフォルダーに入れるためのステップ3の一部は不要です。基本的にはどこにでも置くことができ、他の場所に置くことは決してありません。他の回答を確認してくださいだけでなく...
BlondCode

自分に合ってください。ただし、ここでのポイントは、このireportを起動するためだけに古いjreが必要なことです。
xtsoler 2016年

59

何もアンインストールしないでください。Javaの複数のバージョンを備えたシステムは問題なく動作します。また、環境変数(java_home、pathなど)を更新する必要はありません。

はい、ireports3.6.1にはJava7が必要です(Java 8では機能しません)。

あなたがしなければならないのは、C:\ Program Files \ 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"

Linux(スペースや標準のファイルパスなし)では、はるかに簡単です。他の興味深いプロジェクトのためにJava8を保管してください...


17

iReportはJava8では機能しません。

  • まだインストールされていない場合は、java7をダウンロードしてインストールします
  • iReportのインストールディレクトリを見つけて、次のファイルを開きます:ireport.conf

(ここにあります:iReport-xxx \ etc \)

この行を変更します。

#jdkhome="/path/to/jdk"

これに(これがJava 7のインストールディレクトリでない場合は、「」の間のパラメーター値をインストール済みのJava 7のパスに置き換えます):

jdkhome="C:\Program Files\Java\jdk1.7.0_67"

iReport-3.7.2などの古いバージョンでも動作します
BlondCode 2016年

理解できるように、これはあなた(またはあなたの会社)のデフォルトのJava設定を変更しないので、私はそれをお勧めします。これにより、iReportの動作が変更されます。iReportは、デフォルトのJava設定を使用する代わりに、検索するように指示したjdkを検索します。将来Javaをアップグレードする場合でも、iReportは、古いJavaがマシンのどこかに存在するまで機能します。:)私は、レジストリのハッカーをdownvoteはありませんが、私は、レジストリのハッキングが解決..です言わないだろう
BlondCode

9

ireportは正式にはjava8をサポートしていませんが、ireport(ireport 5.1でテスト済み)をJava8で動作させる非常に簡単な方法があります。問題は実際にはNetBeansにあります。Java 8のセキュリティの向上を気にしないと仮定すると、非常に単純なパッチがあります。

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

ireportで使用されている正確なnetbeansソースも使用しませんでした。上記のリポジトリから最新のWeakListenerImpl.javaを完全にダウンロードし、コンパイラのクラスパスでplatform9 / lib /org-openide-util.jarを使用してireportディレクトリにコンパイルしました。

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

できる限り、ジャスパーレポートを編集するためだけにEclipseを実行することは避けています。NetBeansベースのireportは、非常に軽量です。Eclipseの実行は、emacsを使用するようなものです。


1
これはこのバグに関連しています:netbeans.org/bugzilla/show_bug.cgi?id = 229191しかし、iReportは更新されませんでした。
ギルベルト

2
ありがとう、ありがとう、ありがとう!あなたは命の恩人です!Java8でireport5.6を実行してみましたが、起動しませんでした。それから私はjava7をダウンロードしようとしましたが、オラクルはオラクルの顧客だけがそれをダウンロードすることを許可しています(!)...それで私はあなたの解決策に出くわすまで壁にぶつかりました!あなたは私の日を救った:)
Serafeim19年

1
これは、JDK7をインストールするよりもはるかに優れたソリューションです。なぜ投票数が少ないのかわかりません。1行のパッチは、改善されたJDK8セキュリティの一部を無効にしますが、結果はJDK7で実行するよりも悪くはありません(おそらくより良い)。
スチュアートガスマン

5

それだけで動作しますJRE 1.7 だけでお好みの場所にして抽出液をダウンロード

次のコマンドを使用してiReportを開きます

ireport --jdkhome Path To JDK Home

4

私はこれをPCで修正しました。私の環境では、iReportはiReport-5.1.0であり、jdk7とjdk8の両方がインストールされていました。

しかし、iReportはロードされませんでした

修正:1。iReport.conf// C:\ Program Files(x86)\ Jaspersoft \ iReport-5.1.0 \ etcを見つけます

  1. テキストエディタで開きます

  2. jdkインストールパスをコピーします// C:\ Program Files(x86)\ Java \ jdk1.8.0_60

  3. jdkhome =をireport.confファイルに追加しますjdkhome = "C:/ Program Files(x86)/Java/jdk1.8.0_60"

ここに画像の説明を入力してください

これでiReportが機能します


1

ireport 4.7.1では、jdkhomeをに設定した後etc/ireport.confireport.exe起動しません。スプラッシュも窓もありません。

ireport_w.execmdで起動すると、次のメッセージが表示されます。

VMの初期化中にエラーが発生しました

オブジェクトヒープ用に十分なスペースを予約できませんでした

エラー:Java仮想マシンを作成できませんでした。

エラー:致命的な例外が発生しました。プログラムは終了します。

解決策:ファイルetc / ireport.confで、default_optionsで始まる行で、の値-J-XX:MaxPermSize を512mではなく256mに減らしました。

default_options="--branding ireport -J-Xms256m -J-Xmx512m
    -J-Dorg.netbeans.ProxyClassLoader.level=1000 -J-XX:MaxPermSize=256m"

_JAVA_OPTIONSこれらの設定を上書きするような環境変数がないことを確認してください。ヒープサイズを1GBに設定するような環境変数がありました。default_optionsここでの設定よりも優先されました。削除されると、iReportは正常に実行されました。
ADTC 2015年

0

Java8でiReportを実行する方法をグーグルで検索するのにうんざりしていました。

私はインターネットで言われたようにすべてをしました、しかし私はそれらが私のために働かなかった理由を知りません。

次に、レジストリエディタを使用して、コンピュータJDKの現在のバージョンフォーム1.8を1.7に変更します。

今では正常に動作します。

現在のバージョンを変更するには

開始=> regeditと入力(Enterキーを押す)=> HKEY_LOCAL_MACHINE =>ソフトウェア=> JavaSoft => Java開発キット=> CurrentVersionのキー値を1.8から1.7に変更


0

私にとって、このスレッドでのStuart GathmanとRaviathの回答の組み合わせは、Windows Server 2016 for iReport5.6.0でうまくいきました。

さらに、C:\ program files \ java \ jre7内のシンボリックリンクを次のようにjdk8に追加しました。

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

iReportは、C:\ program files \ java \ jre7 \ bin \内にjava.exeが見つからないと常に不平を言っていたため、目的のパスで使用可能なjava.exe(私の場合はV8.181)を提供しました。喜んで飲み込んだ。


0

Java7でIReport5.6をインストールしました:機能しません

Java 6をインストールして、添付のスクリーンショットのように「ireport.conf」ファイルへのパスを追加しようとしましたが、正常に機能しました:Dここに画像の説明を入力してください

したがって、手順は次のとおりです。

 Install IReport 5.6
 Install JDK 6
 Edit "ireport.conf" file like the below image and Enjoy ;)
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.