2013-07-02 21 views
8

Có thể câu hỏi được hỏi trước nhưng tôi đã tìm thấy loại lỗi rất lạ. Khi tôi chạy lệnh mvn --version từ bin, lệnh này cung cấp phiên bản và thông tin khác. Tuy nhiên khi tôi chạy bên ngoài bin nó cho phép ngoại lệ. Cả hai đề cập đến kết quả dưới đây'mvn' không được nhận dạng dưới dạng lệnh nội bộ hoặc bên ngoài, chương trình có thể hoạt động hoặc tập tin thực thi

C:\Program Files\apache-maven-3.0.5-bin\apache-maven-3.0.5\bin>mvn --version 
Apache Maven 3.0.5 (r01de14724cdef164cd33c7c8c2fe155faf9602da; 2013-02-19 19:21: 
28+0530) 
Maven home: C:\Program Files\apache-maven-3.0.5-bin\apache-maven-3.0.5 
Java version: 1.7.0_25, vendor: Oracle Corporation 
Java home: C:\Program Files\Java\jdk1.7.0_25\jre 
Default locale: en_US, platform encoding: Cp1252 
OS name: "windows 7", version: "6.1", arch: "amd64", family: "windows" 

C:\Program Files\apache-maven-3.0.5-bin\apache-maven-3.0.5>mvn --version 
'mvn' is not recognized as an internal or external command, 
operable program or batch file. 

Ngoài ra tôi thiết lập JAVA_HOME trong biến người dùng và M2_HOME, M2 trong môi trường hệ thống biến ra là

C:\Users\SAHILBHALLA>echo %JAVA_HOME% 
C:\Program Files\Java\jdk1.7.0_25 

C:\Users\SAHILBHALLA>echo %M2% 
C:\Program Files\apache-maven-3.0.5-bin\apache-maven-3.0.5\bin 

C:\Users\SAHILBHALLA>echo %M2_HOME% 
C:\Program Files\apache-maven-3.0.5-bin\apache-maven-3.0.5 

Nói cho tôi biết nơi tôi đã sai lầm. Tôi nên làm gì để phục hồi nó?

+1

Bạn đã đặt các biến môi trường đó vào PATH chưa? –

+0

là vị trí của mvn.exe trong% PATH% của bạn? ví dụ. lời gọi mvn thứ hai của bạn thực sự xảy ra một thư mục UP từ nơi bạn đã thực hiện lệnh đầu tiên, vì vậy tôi đoán nó không nằm trong đường dẫn. hãy thử 'bin \ mvn' làm lệnh thay thế. –

+0

C: \ Users \ SAHILBHALLA> echo% path% cung cấp cho C: \ Program Files (x86) \ Khách hàng Intel \ iCLS \; C: \ Program Files \ Intel \ iCLS Client \; C: \ Windows \ system32; C: \ Windows; C: \ Windows \ System32 \ Wbem; C: \ Windows \ System32 \ WindowsPow erShell \ v1.0 \; C: \ Program Files \ Java \ jdk1.7.0_25 \ bin;.; – rahul

Trả lời

12

Vấn đề của tôi được giải quyết, path không giải quyết được %M2%. Khi tôi thêm vị trí của maven-bin trong đường dẫn thay vì %M2% sau khi lệnh đó hoạt động.

Tôi muốn cảm ơn tất cả những ai cố gắng để giải quyết vấn đề

+0

điều tương tự cũng xảy ra với tôi và tôi cũng phải khởi động lại PC bởi vì bằng cách nào đó khi tôi sử dụng 'echo% PATH%' tôi cứ nhìn thấy con đường cũ tôi không biết tại sao. – Reem

2

Đặt đường dẫn đầy đủ đến mvn trong biến môi trường PATH của bạn.

6

maven phải nằm trên PATH của hệ thống nếu bạn muốn thực thi nó từ bất kỳ nơi nào. thêm% M2_HOME% \ bin vào PATH

+0

như tôi đã đề cập M2_HoME và M2 trước đó được đặt trong biến môi trường hệ thống – rahul

+0

phải ... đó là lý do tại sao @radai cho phép bạn thêm% M2_HOME%/bin vào% PATH%. tin tưởng tôi, điều này sẽ làm việc. – thekbb

+0

@thekbb - bất cứ khi nào bạn nhập tên tệp thực thi hoặc tệp shell (bat), hệ điều hành tìm kiếm nó trong thư mục hiện tại bạn đang dùng. Nếu nó không tìm thấy nó ở đó, tất cả các thư mục được đề cập trong %CON ĐƯỜNG%. nếu bạn muốn mvn có thể truy cập thì% M2_HOME% \ bin _HAS_ nằm trên đường dẫn.thực tế là% M2_HOME% tồn tại là không đủ (mặc dù điều đó là cần thiết) – radai

0

Tôi thích thêm đường dẫn đến ~/.bashrc.

vim ~/.bashrc, sau đó thêm những dòng này:

export M2_HOME=/usr/local/apache-maven-your_maven_path&version 
export M2=$M2_HOME/bin 
+3

Tôi chắc chắn hầu hết chúng tôi muốn thêm vào .bashrc, nhưng anh ấy rõ ràng trên các cửa sổ nên không chắc anh ta đã bị bash. – thekbb

+0

Xin lỗi đã không chú ý đến hệ điều hành: P –

5

Trong windows 7, tôi Chấn nó giải quyết sau khi thêm các biến môi trường trong hệ thống cấp. Nếu bạn không có đủ quyền, hãy thử đặt %JAVA_HOME%%M2_HOME% trong biến Hệ thống thay vì Biến người dùng.

0

Sau khi thiết lập đường dẫn với vị trí thùng Maven đóng cửa sổ nhắc và khởi động lại nó. Sử dụng lệnh echo %path% để đảm bảo đường dẫn được đặt bằng biến Maven sau đó chạy lệnh mvn -version. Bằng cách nào đó nếu đường dẫn được thiết lập khi cửa sổ nhắc đang chạy nó không chọn các biến mới.

+0

Cảm ơn bạn đã đóng góp câu trả lời cho StackOverflow. Để làm cho câu trả lời của bạn dễ đọc hơn, bạn có thể đặt các lệnh bạn muốn được định dạng trong phông chữ đơn cách giữa các dấu tích sau như thế này '. Tôi đã cập nhật câu trả lời của bạn để bạn phản ánh điều này. – SDJMcHattie

0

Here là hướng dẫn Thiết lập Môi trường Maven tốt nhất cho các hệ điều hành Windows, Unix và Mac.

Nhưng cuối cùng bạn phải thiết lập giá trị của PATH biến như ";%M2_HOME%\bin" thay vì "%M2%", vì PATH biến không có khả năng làm giảm giá trị sử dụng "% M2%"

0

nhận nó giải quyết bằng cách đầu tiên tạo mới " Đường dẫn "biến dưới Biến người dùng (lưu ý rằng sau khi cài đặt cửa sổ mới Biến đường dẫn không được tạo dưới dạng Biến người dùng, chỉ như hệ thống) sau đó, tôi nối thêm% M2% (trỏ tới thư mục/thư mục maven) đến (mới tạo) biến Path của người dùng. sau đó cửa sổ cmd khởi động lại và nó hoạt động như một nét duyên dáng.

4

Trước hết chắc chắn rằng bạn java đang làm việc hoặc không chạy lệnh này trong cmd

C:\>java -version 

nếu nó làm việc nó sẽ hiển thị kết quả này: -

C:\>java -version 
java version "1.8.0_74" 
Java(TM) SE Runtime Environment (build 1.8.0_74-b02) 
Java HotSpot(TM) Client VM (build 25.74-b02, mixed mode) 

bước 1. Đầu tiên hãy đặt đường dẫn của bạn trong biến thể người dùng của java_home [C: \ Program Files \ Java \ jdk1.8.0_74].

bước 2. Sau đó thiết lập MAVEN_HOME [C: \ Program Files \ maven \ apache-maven-3.3.9] đường dẫn trong biến hệ thống và chắc chắn rằng thư mục maven bạn nên có mặt trong thư mục C chỉ.

bước 3. Sau đó đặt đường dẫn M2 trong biến hệ thống và cung cấp vị trí thùng rác ở đó, tức là [C: \ Program Files \ maven \ apache-maven-3.3.9 \ bin].

Bước 4. Sau đó thiết lập biến hệ thống mới tức biến tên = MAVEN_OPTS trong và giá trị biến = -Xms256m -Xmx512m

Bước 5. Sau đó chỉnh sửa path/hệ thống biến con đường được chăm sóc đầy đủ không loại bỏ bất cứ điều gì từ đó chỉ cần thêm java_home đường dẫn tức là =; C: \ Program Files \ Java \ jdk1.8.0_74 và M2 biến =;% M2% cuối cùng.

Bước 6. Để đảm bảo maven hiện đang làm việc hoặc không chạy lệnh này trong cmd

> C:\>mvn --version 

nếu nó làm việc nó sẽ hiển thị kết quả này: -

Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015- 
7+05:30) 
Maven home: C:\Program Files\maven\apache-maven-3.3.9\bin\.. 
Java version: 1.8.0_74, vendor: Oracle Corporation 
Java home: C:\Program Files\Java\jdk1.8.0_74\jre 
Default locale: en_IN, platform encoding: Cp1252 
OS name: "windows 7", version: "6.1", arch: "x86", family: "dos" 
0

Trong Windows 10 , Tôi đã phải chạy nhắc lệnh cửa sổ (cmd) với tư cách quản trị viên. Làm điều đó giải quyết vấn đề này cho tôi.

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