2. 你可以试试-Djava.library.path=actual.so行吧? 在Windows上,我也有类似的问题,第三方库,JNI封装的DLL,它的DLL。我的项目已经在lib目录下的DLL,这样我添加到库的路径(如:PATH=%PATH%./lib变,一切都开始工作。
3. 据我知道的Eclipse没有关系'的LD_LIBRARY_PATH。 要树立正确的本地库路径的最简单的方法就是去 项目属性->Java构建路径->库 然后展开或者JRE的系统库条目或(如果有的话)的 jar文件的本地库, 选择“本地库位置”,然后单击“编辑...”并选择你的库。实际上它并设置-Djava.library.path变量,以便你必须包括这行,如果你开始从外面蚀你的程序的文件夹。
4. 这可能是因为你只需要找到运行配置对话框中合适的地方放-Djava.library.path=...选项。随口说说我想你想-D在选项卡上的“VM定义,而如果要定义LD_LIBRARY_PATH就是那张在标签上。Eclipse的让你把东西在那里他们赢得'你觉得什么反正我库这样的地方以前,如果我有机会,我会仰望我做了什么,在这里编辑我的答案。 另一件事,试图与LD_DEBUG玩。您可以设置变量LD_DEBUG的事情(尝试所有),然后Linux加载程序会泄露的各种关于什么一个应用程序试图加载,它在寻找的东西,等等。当然,这种预先假定您启动Eclipse从行,所以你可以同时设置ENV增值经销商,看到了loader的诊断,但就系统而言,当你从Eclipse中运行你的应用,你的应用程序仅仅是Eclipse是干什么的,所以任何的库装载行为cocoa见以这种方式。
5. 是否有你的两个库依赖于任何其他库?如果是这样,你需要确保他们也可以访问到JVM。 请注意,手动设置“-Djava.library.path”似乎清除预设的库路径。 所以,用下面的代码:public class LibTest {
public static void main(String[] args) {
String property = System.getProperty("java.library.path")
StringTokenizer parser = new StringTokenizer(property, ":")
while (parser.hasMoreTokens()) {
System.err.println(parser.nextToken())
}
}
}
从eclipse与Java 1.6.0_14输出启动:/opt/java/jre/lib/i386/client
/opt/java/jre/lib/i386
/opt/java/jre/../lib/i386
/opt/java/jre/lib/i386/client
/opt/java/jre/lib/i386
/usr/lib/xulrunner-devel-1.9.0.11
/usr/lib/xulrunner-devel-1.9.0.11
/usr/java/packages/lib/i386
/lib
/usr/lib
但是,当我设置的JVM ARG“-Djava.library.path=/ tmp目录/”我只得到:/tmp/
如果您要手动设置java.library.path这也许可以解释为什么LDD的作品从行,但你的,所以不会从eclipse/ java的。 你可以试试不设置,而不是调用System.loadLibrary java.library.path System.load的绝对路径到库中。这可能使JVM能够找到你,所以,默认的路径寻找它的依赖时。 当然,如果这是,那么你也可以尝试打开JNI调试输出与“-verbose:当使用JNI”上线。这可能给您的线索来解决问题。
6. 是LD_LIBRARY_PATH环境工作
7. 加入这个答案可能是它可以在AIX机器,我们需要设置LIBPATH变量,而不是LD_LIBRARY_PATH。
三种配置环境变量的方法 1. 修改/etc/profile文件如果你的计算机仅仅作为开发使用时推荐使用这种方法,因为所有用户的shell都有权使用这些环境变量,可能会给系统带来安全性问题。
·用文本编辑器打开/etc/profile
·在profile文件末尾加入:
export JAVA_HOME=/usr/share/jdk1.6.0_14
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
·重新登录或执行 sudo source /etc/profile
·注解
a. 假设你要将 /usr/share/jdk1.6.0_14改为你的jdk安装目录
b. linux下用冒号“:”来分隔路径
c. $PATH / $CLASSPATH / $JAVA_HOME 是用来引用原来的环境变量的值
在设置环境变量时特别要注意不能把原来的值给覆盖掉了,这是一种
常见的错误。
d. CLASSPATH中当前目录“.”不能丢,把当前目录丢掉也是常见的错误。
e. export是把这三个变量导出为全局变量。
f. 大小写必须严格区分。
2. 修改.bash_profile文件
这种方法更为安全,它可以把使用这些环境变量的权限控制到用户级别,如果你需要给某个用户权限使用这些环境变量,你只需要修改其个人用户主目录下的.bash_profile文件就可以了。
·用文本编辑器打开用户目录下的.bash_profile文件
·在.bash_profile文件末尾加入:
export JAVA_HOME=/usr/share/jdk1.6.0_14
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar ·重新登录或执行source ~/.bash_profile
3. 直接在shell下设置变量
不赞成使用这种方法,因为换个shell,你的设置就无效了,因此这种方法仅仅是临时使用,以后要使用的时候又要重新设置,比较麻烦。
只需在shell终端执行下列命令:
export JAVA_HOME=/usr/share/jdk1.6.0_14
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
linux下java编程与在windows下一样,重点在于搭建java开发环境。linux下搭建java开发环境步骤:
1、下载linux环境下的JDK,前往java官网下载:http://www.java.com/zh_CN/
举例:
JDK程序名为:jdk-7u11-linux-i586.tar.gz 保存路径:/home/wyl/tools-wyl/JDK7u11
eclipse程序名为:eclipse-jee-juno-SR1-linux-gtk.tar.gz 保存路径:/home/wyl/tools-wyl/eclipse-javaEE
2、解压下载的jdk-7u11-linux-i586.tar.gz文件
chmod 777 jdk-7u11-linux-i586.tar.gz
tar xzvf jdk-7u11-linux-i586.tar.gz(普通用户身份解压即可)
3、配置环境变量
以超级用户身份执行下面的命令:
#vim /etc/profile
在文件末尾加上以下内容后保存退出(:wq)
export JAVA_HOME=/home/wyl/tools-wyl/JDK7u11/jdk1.7.0_11(说明:这个是JDK解压后文件夹的路径)
export PATH=$JAVA_HOME/bin:$PATH或export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.
4、注销重新登录后在终端输入java,javac,java -version,javac -version.测试是否安装成功。
[wyl@localhost eclipse-javaEE]$ java -version
java version "1.7.0_11"
Java(TM) SE Runtime Environment (build 1.7.0_11-b21)
Java HotSpot(TM) Server VM (build 23.6-b04, mixed mode)
[wyl@localhost eclipse-javaEE]$ javac -version
javac 1.7.0_11
[wyl@localhost eclipse-javaEE]$
5、解压eclipse-jee-juno-SR1-linux-gtk.tar.gz 并运行它(chmod 777 eclipse...)
5.1、解压:tar xzvf eclipse-jee-juno-SR1-linux-gtk.tar.gz (普通用户身份解压即可,否则每次都要以超级用户身份运行它)。
5.2、运行:进入解压后的目录,执行命令:./eclipse即可运行eclipse.或者进入解压后的目录,双击eclipse图标即可。
运行eclipse即可进行java编程。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)