解决在安装了jdk1.6.0_26,又安装JDK1.8.2后导致iReport无法启动加载的问题
来源:互联网 发布:数据迁移重要程度 编辑:程序博客网 时间:2024/05/16 11:23
原文:http://fengjianquan9527.iteye.com/blog/2110280
今天在想再次复习体验一下JDK1.8的新特性,机器上已经安装了jdk1.6.0_26之,现有的工程是基于1.6的的,不想卸载,于是就直接安装了JDK1.8.2,为了避免冲突。直接将JAVA_HOME跟踪到/java/jdk1.6.0_26这一级目录,CLASSPATH、PATH直接写死了,分别给出绝对路径。新的Eclipse 4.4 LuNa启动没问题,但是iReport就不行了,光出现加载窗口,接着就一闪而过,无法正常启动加载。
解决办法:
类比于其他工具,工具自身的JDK应该都有一个配置文件的。于是乎,稍微研究一下ireport的目录结构,在bin目录下有个ireport的批处理文件,里面N多次的调用${jdkhome}这个变量,证明其他配置文件肯定有这个变量的配置,仔细研究,我们不难发现在etc目录下有一个ireport.conf,打开便发现有一个jdkhome的行被注释掉了,这很显然,应该是启用系统环境变量中的JDK_HOME,但是我环境中。于是乎,抱着试试看的态度,直接将这个jdkhome写死我的jdk1.6.0_26地址。然后启动,一切正常。
心有不甘,JDK1.8应该是向下兼容的啊,jdk1.6能启动,jdk1.8应该也可以的,于是乎将jdkhome改成了JDK1.8的绝对路径,启动ireport无法启动。不知道为什么,可能是ireport自身的问题。
附上我本地配置文件:
ireport.conf:
jdkhome="D:\Program Files\Java\jdk1.6.0_26"
JAVA_HOME:
D:\Program Files\Java\jdk1.6.0_26
CLASSPATH:
D:\Program Files\Java\jre6\lib;
ireport批处理:
#!/bin/sh
#
# resolve symlinks
#
PRG=$0
while [ -h "$PRG" ]; do
ls=`ls -ld "$PRG"`
link=`expr "$ls" : '^.*-> \(.*\)$' 2>/dev/null`
if expr "$link" : '^/' 2> /dev/null >/dev/null; then
PRG="$link"
else
PRG="`dirname "$PRG"`/$link"
fi
done
progdir=`dirname "$PRG"`
APPNAME=`basename "$0"`
if [ -f "$progdir/../etc/$APPNAME".conf ] ; then
. "$progdir/../etc/$APPNAME".conf
fi
# XXX does not correctly deal with spaces in non-userdir params
args=""
case "`uname`" in
Darwin*)
userdir="${default_mac_userdir}"
;;
*)
userdir="${default_userdir}"
;;
esac
while [ $# -gt 0 ] ; do
case "$1" in
--userdir) shift; if [ $# -gt 0 ] ; then userdir="$1"; fi
;;
*) args="$args \"$1\""
;;
esac
shift
done
if [ -f "${userdir}/etc/$APPNAME".conf ] ; then
. "${userdir}/etc/$APPNAME".conf
fi
if [ -n "$jdkhome" -a \! -d "$jdkhome" -a -d "$progdir/../$jdkhome" ]; then
# #74333: permit jdkhome to be defined as relative to app dir
jdkhome="$progdir/../$jdkhome"
fi
readClusters() {
if [ -x /usr/ucb/echo ]; then
echo=/usr/ucb/echo
else
echo=echo
fi
while read X; do
if [ "$X" \!= "" ]; then
$echo "$progdir/../$X"
fi
done
}
clusters=`(cat "$progdir/../etc/$APPNAME".clusters; echo) | readClusters | tr '\012' ':'`
if [ ! -z "$extraclusters" ] ; then
clusters="$clusters:$extraclusters"
fi
nbexec=`echo "$progdir"/../platform*/lib/nbexec`
case "`uname`" in
Darwin*)
eval exec sh '"$nbexec"' \
--jdkhome '"$jdkhome"' \
-J-Dcom.apple.mrj.application.apple.menu.about.name='"$APPNAME"' \
-J-Xdock:name='"$APPNAME"' \
'"-J-Xdock:icon=$progdir/../../$APPNAME.icns"' \
--clusters '"$clusters"' \
--userdir '"${userdir}"' \
${default_options} \
"$args"
;;
*)
sh=sh
# #73162: Ubuntu uses the ancient Bourne shell, which does not implement trap well.
if [ -x /bin/bash ]
then
sh=/bin/bash
fi
eval exec $sh '"$nbexec"' \
--jdkhome '"$jdkhome"' \
--clusters '"$clusters"' \
--userdir '"${userdir}"' \
${default_options} \
"$args"
exit 1
;;
esac
- 解决在安装了jdk1.6.0_26,又安装JDK1.8.2后导致iReport无法启动加载的问题
- ubuntu jdk1.6.0_26安装
- 解决JDk1.6无法安装得问题
- 安装jdk1.8,导致DbVisualizer报错无法使用的情况解决。
- 解决由于安装了arcgis9.3导致windows modules installer服务无法启动的问题
- myeclipse 10 安装了JDK1.7,java编译器无法选择到1.7的问题
- myeclipse 10 j安装了JDK1.7,java编译器无法选择到1.7的问题
- Mac OS X安装JDK1.6及相关备忘 解决了找不到tools.jar的问题
- 解决安装oracle10g后,xampp无法启动apache的问题
- jdk1.6在windows下安装的问题
- 解决在virtualbox中ubuntu server安装后无法启动的问题
- 解决在virtualbox中ubuntu server安装后无法启动的问题(续……)
- 解决在Fedora15上安装Google Earth后无法启动的问题
- jdk1.6,jdk1.7,jdk1.8安装共存问题。
- jdk1.6,jdk1.7,jdk1.8安装共存问题。
- eclipse在异常关闭后,导致无法启动workspace问题的解决
- eclipse在异常关闭后,导致无法启动workspace问题的解决
- eclipse在异常关闭后,导致无法启动workspace问题的解决
- 有趣的开源软件:语音识别工具Kaldi (二)
- 接触Matlab10年后的一个总结,随时使用Matlab要掌握的一些要点
- 亲历者讲述一个程序员如何变成精神病人的
- Groovy 使用完全解析
- TensorFlow入门(二)简单前馈网络实现 mnist 分类
- 解决在安装了jdk1.6.0_26,又安装JDK1.8.2后导致iReport无法启动加载的问题
- 抄袭某神的自定义Button
- input标签没有</input>,不然会有问题
- 算法提高 矩阵乘法
- 1.txt linux 用法 和jar包执行,kafka执行,flume
- Tomcat中配置JNDI数据源详解
- Laravel实现多个视图共享相同的数据
- Mysq创建触发器
- Android面试题-与XMPP相关试题一