• Java中path,-classpath,-Djava.library.path的功能和区别


    1. path

    path是个系统环境变量,声明命令的搜索路径,让操作系统找到指定的工具程序。

     

    D:Program FilesJavajdk1.8.0_111in指定JDK工具路径,例如javac,java,jmap等,如果不配置就无法运行javac等命令。

    2. -classpath

    classpath设置CLASSPATH变量的目的就是让Java执行环境找到指定的Java程序对应的class文件,以及程序中引用的其他clas文件,例如:你的Java代码依赖另一个jar包,此时就需要通过IDE,如eclipse引入jar包,此时就会在Java项目的.classpath文件中生成相应配置:

    <?xml version="1.0" encoding="UTF-8"?>
    <classpath>
    	<classpathentry including="**/*.java" kind="src" output="target/classes" path="src/main/java">
    		<attributes>
    			<attribute name="optional" value="true"/>
    			<attribute name="maven.pomderived" value="true"/>
    		</attributes>
    	</classpathentry>
    	<classpathentry kind="src" path="src/main/resources"/>
    	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8">
    		<attributes>
    			<attribute name="maven.pomderived" value="true"/>
    		</attributes>
    	</classpathentry>
    	<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
    		<attributes>
    			<attribute name="maven.pomderived" value="true"/>
    		</attributes>
    	</classpathentry>
    	<classpathentry kind="output" path="target/classes"/>
    </classpath>
    

    3. -Djava.library.path

    指定非java类包的位置(如:dll,so)

    如运行jar包:

    java -cp a.jar:b.jar:./libs/* -Djava.library.path=./libs com.test.Main param1 param2

    -cp:声明依赖的a.jar,b.jar和libs下面所有的jar包;

    -Djava.library.path:指定依赖的非Java库文件路径,也放在libs目录下面;

  • 相关阅读:
    Ubuntu 16.04 not a com32r image
    重定向输出遇到的缓冲问题
    you don't have permission to access / on this server解决
    LaTeX入门简介
    解决eclipse中出现Resource is out of sync with the file system问题
    Ubuntu安装新英伟达驱动出现问题解决方法
    同步与异步的区别
    Cuda入门笔记
    解决 Cocos2d-x 3.2 error C1041: 无法打开程序数据库vc120.pdb
    vs2013编译过程中,错误 59 error C4996: 'GetVersionExW': 被声明为已否决
  • 原文地址:https://www.cnblogs.com/lujiango/p/9619524.html
Copyright © 2020-2023  润新知