繁体   English   中英

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

[英]Trouble in Setting Java Environment Path on Ubuntu (libjvm.so: cannot open shared object file: No such file or directory)

找到了解决方案!

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

它现在工作得很好!


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

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

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

如果每次启动PC时都没有输入“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

这对我有用:

对于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

我有同样的问题设置路径(永久)然而我使用的是Red Hat,如果你在Ubuntu上永久地看到更改PATH它可能对你有帮助。 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"

export JAVA_HOME = / usr / lib / jvm / jdk1.7.0_25_x64

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

编辑full_path_here部分。

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

找到了解决方案!

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

它现在工作得很好!

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM