Java中path,-classpath,-Djava.library.path的功能和區別


1. path

path是個系統環境變量,聲明命令的搜索路徑,讓操作系統找到指定的工具程序。

 

D:\Program Files\Java\jdk1.8.0_111\bin指定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目錄下面;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM