在Ubuntu上设置Java环境路径的麻烦(libjvm.so:无法打开共享对象文件:没有这样的文件或目录)

时间:2013-08-20 03:16:46

标签: java linux ubuntu environment-variables java-home

找到了解决方案!

Ubuntu默认忽略命令“RD_LIBRARY_PATH”,因此我需要在“.bashrc”而不是“/ etc / environment”或.profile中添加这些代码。

它现在完美无缺!


我正在尝试运行一个从C / C ++代码中读取Java方法的程序。 (我在Windows上成功了,现在,我在Linux上工作)

我成功编译并在Ubuntu上运行,但问题是.. 每当我尝试运行程序时,我都必须在终端上输入以下命令..

source /etc/environment
./invoke #program name is invoke

如果每次启动电脑时都没有输入“source / etc / environment”,我得到的错误信息就是......

error while loading shared libraries: libjvm.so: cannot open shared object file: No such file or directory

确定。这是我在/ etc / environment

中添加的内容
export PATH="$PATH:/usr/lib/jvm/jdk1.7.0_25_x64/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_25_x64
export LD_LIBRARY_PATH=$JAVA_HOME/jre/lib/amd64:$JAVA_HOME/jre/lib/amd64/server

我想要的是,如你所知,我想在不输入“source / etc / environment”的情况下运行程序。 我也尝试在/ etc / profile上输入那些PATH,但结果是一样的...每次重新启动我的电脑时都应输入“source / etc / profile”..

如何在没有每次启动时输入“source / etc / environment”内容的情况下将其永久应用于整个系统范围?

如果你需要查看程序的源代码,这里是可下载的地址: http://cfile237.uf.daum.net/attach/247819495212DF1C07B9EB

5 个答案:

答案 0 :(得分:9)

这对我有用:

对于x86:

export LD_LIBRARY_PATH=/usr/lib/jvm/default-java/jre/lib/i386:/usr/lib/jvm/default-java/jre/lib/i386/server

适用于x86_64

export LD_LIBRARY_PATH=/usr/lib/jvm/default-java/jre/lib/amd64:/usr/lib/jvm/default-java/jre/lib/amd64/server

答案 1 :(得分:1)

我遇到了设置路径的问题(永久)但是我使用的是Red Hat,如果你看change PATH permanently on Ubuntu它可能对你有帮助。 Red Hat .profile 上有一个文件,一旦你添加了export语句,它们就会在计算机启动时加载。 :)应该有ubuntu的文件类型

export     PATH="$PATH:/usr/lib/jvm/jdk1.7.0_25_x64/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"

导出JAVA_HOME = / usr / lib / jvm / jdk1.7.0_25_x64

答案 2 :(得分:0)

将“-Djava.library.path = FULL_PATH_HERE / jre / lib / amd64”作为C代码中的JVM选项。

编辑full_path_here部分。

允许路径是相对的,但我认为你不能使用$ JAVA_HOME作为环境变量的占位符。

答案 3 :(得分:0)

找到了解决方案!

Ubuntu默认忽略命令“RD_LIBRARY_PATH”,因此我需要在“.bashrc”而不是“/ etc / environment”或.profile中添加这些代码。

它现在完美无缺!

答案 4 :(得分:0)

  1. 在文件/etc/ld.so.conf
  2. 中添加缺少库的路径
  3. 执行以下命令:ldconfig 这样,您就可以将新库添加到默认库中。
  4. 要检查新库是否已链接, 执行以下命令:ldconfig -p 目前链接的库列表默认为。