2010-01-06 38 views
14

Cố gắng để có được Maven, Java và OS X để chơi tốt đẹp với nhau - một cái gì đó tôi đã thực hiện nhiều lần mà không có vấn đề trên Linux và Windows máy. Tôi cho rằng tất cả những gì tôi cần làm là tải xuống Maven, thiết lập các biến môi trường của tôi và tôi sẽ tốt. Vì vậy, đây là một đoạn từ .bash_profile của tôi ...Maven, JAVA_HOME w/OS X

export JAVA_HOME=/Library/Java/Home/ 
export M2_HOME=/usr/local/apache-maven/apache-maven-2.2.1 
export PATH=$PATH:$M2_HOME/bin 

Thiết lập JAVA_HOME là những gì Apple khuyến cáo được sử dụng trên this Q&A page. Tuy nhiên, sau khi tung ra một thiết bị đầu cuối và chạy mvn --version, đây là sản lượng ...

Apache Maven 2.2.1 (r801777; 2009-08-06 15:16:01-0400) 
Java version: 1.6.0_17 
Java home: /System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home 
Default locale: en_US, platform encoding: MacRoman 
OS name: "mac os x" version: "10.6.2" arch: "x86_64" Family: "mac" 

Bất cứ ý tưởng tại sao JAVA_HOME Tôi đang thiết trong .bash_profile của tôi đang được bỏ qua bởi Maven? Điều này gây ra sự cố bởi vì những thứ như rt.jar không được tìm thấy trong số JAVA_HOME Maven đang sử dụng. Tôi có thể giải quyết vấn đề này bằng cách tạo ra các liên kết tượng trưng và hackery khác trong nhà Maven đang sử dụng, nhưng tôi muốn nó hoạt động chính xác vì điều này sẽ chỉ nổ tung vào lần sau khi Apple đẩy một bản cập nhật Java. Cảm ơn bạn đã giúp đỡ ...

Trả lời

-3

điều đầu tiên tôi sẽ kiểm tra là liệu mvn có phải là tập lệnh hay không. Nếu đó là bạn có thể thấy nó tìm nguồn cung ứng môi trường như thế nào. Nếu nó không phải là tôi sẽ tìm bất kỳ tập tin cấu hình thường được đặt tên .mvnrc, hoặc một cái gì đó trong/etc. Tất nhiên nó sẽ không làm hại RTFM!

+2

nó là một kịch bản, tôi có thể thấy khối này nếu [-z "$ JAVA_HOME"]; sau đó JAVA_HOME =/Hệ thống/Thư viện/Khung/JavaVM.framework/Phiên bản/$ {JAVA_VERSION}/Trang chủ fi có thể ảnh hưởng đến mọi thứ, nhưng khi chạy trên chính nó thì $ JAVA_HOME var được đặt sao cho mệnh đề if bị bỏ qua. Để đọc hướng dẫn, đã hoàn thành. Như đã tìm kiếm danh sách người dùng Maven. Đây là phương sách cuối cùng của tôi trước khi dựa vào các giải pháp hack. Nếu bạn không có câu trả lời, đừng trả lời. – ian

+0

Xin lỗi về định dạng ở trên ... – ian

2

Trên máy Mac của tôi,/Library/Java/Home là một liên kết tượng trưng (thực sự là bắt đầu của một chuỗi các liên kết tượng trưng) mà cuối cùng trỏ tới /System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home. Vì vậy, tôi không nghĩ rằng maven là bỏ qua bất cứ điều gì. Nó chỉ cho bạn vị trí thực tế.

1

Tôi có cùng thiết lập và tất cả đều hoạt động tốt. UNSET biến môi trường "JAVA_HOME" trong kịch bản lệnh shell của bạn. Mac cài đặt sẽ chăm sóc đó. Bạn đang thiết lập nó sai anyways.

Bỏ đặt, đặt nguồn tệp của bạn hoặc trình khởi động và thử lại.

11

Vấn đề là các liên kết tượng trưng "CurrentJDK" bên trong các phiên bản của các điểm JavaVm.framework đến jdk cũ, vì vậy khi tôi sử dụng các lệnh sau để thiết lập CurrentJDK đến mới nhất của một (1,7 .0_45) nó hoạt động

cd /System/Library/Frameworks/JavaVM.framework/Versions 
sudo rm CurrentJDK 
sudo ln -s /Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents CurrentJDK 

tham khảo: http://java.dzone.com/articles/installing-jdk-7-mac-os-x

+0

tôi đang nhận được "Hoạt động không được phép" cho 'sudo rm CurrentJDK'. Tôi đang ở trên El Captain – Wolf7176

+0

Bạn có chắc người dùng hiện tại của mình có quyền đọc/ghi thư mục này không? Sử dụng quản trị viên tốt hơn –

Các vấn đề liên quan