ฉันรู้ว่าexport CLASSPATH=/usr/local/java/tools.jar:$CLASSPATH
จะเพิ่ม tools.jar ไปยัง CLASSPATH แต่ฉันต้องการตั้งค่าโฟลเดอร์เป็น CLASSPATH
แบบนี้
export CLASSPATH=/usr/local/java/lib/:$CLASSPATH
แต่มันไม่ทำงาน
ฉันรู้ว่าexport CLASSPATH=/usr/local/java/tools.jar:$CLASSPATH
จะเพิ่ม tools.jar ไปยัง CLASSPATH แต่ฉันต้องการตั้งค่าโฟลเดอร์เป็น CLASSPATH
แบบนี้
export CLASSPATH=/usr/local/java/lib/:$CLASSPATH
แต่มันไม่ทำงาน
คำตอบ:
อันดับแรกโดยทั่วไปการตั้งค่า env var CLASSPATH
มักทำให้เกิดปัญหามากกว่าที่จะแก้ปัญหา - เนื่องจากแอปไม่ต้องการ / ต้องการ classpath เดียวกันทั้งหมดและมักจะแตกเมื่อมีขวดที่ไม่ต้องการหรือแม้แต่ขวดที่ไม่ต้องการรวมอยู่ใน classpath แอพพลิเคชั่นจาวาควรรวมจำนวนขั้นต่ำของไหที่ต้องการไม่มากไม่น้อย
เมื่อคุณมีเฉพาะปพลิเคชันของแต่ละบุคคลที่จะต้องว่า classpath java -cp path1:path2:...
จะตั้งแล้วมักจะมีตัวเลือกบรรทัดคำสั่งเป็นที่ต้องการ: ไอคอนเดสก์ท็อปสามารถเปลี่ยนคำสั่งเพื่อรวมตัวเลือกเหล่านี้หรือเชลล์สคริปต์สามารถแก้ไขเพื่อรวมตัวเลือกเหล่านี้
ที่ถูกกล่าว (และเนื่องจากมีข้อยกเว้นเสมอกฎ) จากนั้นขึ้นอยู่กับรุ่นของจาวา (requres java 6 หรือใหม่กว่านี้) คุณสามารถระบุว่าจะเพิ่มไดเรกทอรีทั้งหมดของขวดลงใน classpath โดยเพิ่ม " *
" ในตอนท้ายของไดเรกทอรี; เช่น, ต่อไปนี้:
/dir1/foo.jar:/dir2/dir3:/dir5/dir6/*:etc...
หมายถึง:
/dir1/foo.jar
- (โถเดียว) จะถูกเพิ่มไปยัง classpath;/dir2/dir3
- คลาส un-jar'd ทั้งหมดในไดเรกทอรีนี้จะถูกเพิ่มใน classpath (ต้องอยู่ในโครงสร้างแพ็คเกจที่เหมาะสมเช่นcom.my.Foo.class
ต้องอยู่ใน/dir2/dir3/com/my/Foo.class
)/dir5/dir6/*
- ขวดทั้งหมดในไดเรกทอรีนี้ (เช่น, /dir5/dir6/*.jar
) จะถูกเพิ่มใน classpath โปรดทราบว่า " *
" ไม่ใช่สัญลักษณ์แทน (คุณไม่สามารถใช้f*.jar
หรือแม้กระทั่ง*.jar
); เป็นอักขระพิเศษที่ระบุว่า "เพิ่มขวดทั้งหมด"โดยทั่วไปหากคุณต้องเพิ่มไดเรกทอรีทั้งหมดของขวดลงใน classpath ของแอปพลิเคชันแอปนั้นไม่ได้รับการรวมอย่างถูกต้อง ค่อนข้างแอปควรมีรายการที่มีรายการขวดขึ้นอยู่กับ หรืออย่างน้อยที่สุดขวดเดียวเท่านั้นที่ควรเพิ่มใน classpath ของคุณและขวดนั้นสามารถมีรายการทั้งหมดของไหในรายการย่อยบางรายการ
ถ้าคุณต้องการตั้ง classpath อย่างถาวรแล้ว 1) หาที่ติดตั้ง java .. คุณอาจใช้ "whereis java" openjdk-7/6 อยู่ใน / usr / lib / jvm / .....
2) เราจำเป็นต้องตั้งค่า CLASSPATH ใน / etc / environment
sudo gedit /etc/environment
3) เพิ่มไลค์ต่อไปนี้ .. (อย่าปล่อยให้เว้นวรรคใด ๆ ในขณะที่พิมพ์) (ปรับแต่งตามเวอร์ชั่นจาวาและการติดตั้งของคุณ) (พา ธ โฮมนี้ใช้สำหรับ open jdk 7)
JAVA_HOME="/usr/lib/jvm/java-7-openjdk-i386/bin"
export JAVA_HOME
CLASSPATH=".:/usr/lib/jvm/java-7-openjdk-i386/lib:/home/laptop/Desktop/a2"
export CLASSPATH
ไดเรกทอรีแยกโดย ":"
เปิดเทอร์มินัลและประเภท
sudo nano ~ / .bashrc
เพิ่มการส่งออกทั้งหมดที่คุณต้องการ ...
ส่งออก JAVA_HOME = / usr / local / java / jdk1.6.0_06 (เส้นทางของคุณ)
ส่งออก ANT_HOME = / opt / ant / apache-ant-1.9.4
ในที่สุดรีสตาร์ท terminal เพื่อให้การเปลี่ยนแปลงมีผล