2011-12-10 20 views
11

I; m sau Maven in 5 Minutes thủ công như sau:Maven trong 5 Minutes vấn đề

mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false 

Tôi đã nhận lỗi sau:

[INFO] Scanning for projects... 
[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD FAILURE 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: 0.160s 
[INFO] Finished at: Sat Dec 10 16:27:55 ICT 2011 
[INFO] Final Memory: 2M/15M 
[INFO] ------------------------------------------------------------------------ 
[ERROR] The goal you specified requires a project to execute but there is no POM in this directory (
D:\experiment\maven). Please verify you invoked Maven from the correct directory. -> [Help 1] 
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. 
[ERROR] Re-run Maven using the -X switch to enable full debug logging. 
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following arti 
cles: 
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MissingProjectException 

Xin vui lòng giúp. Cảm ơn trước sự giúp đỡ của bạn. INFO

THÊM:

PS D:\experiment\maven> ping http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-archetype-plugin/2.2/maven-archetype-plugin-2.2.pom 
Ping request could not find host http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-archetype-plugin/2.2/maven-archetype-plugin-2.2.pom. Please check the name and try again. 

[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD FAILURE 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: 0.869s 
[INFO] Finished at: Sat Dec 10 19:03:37 ICT 2011 
[INFO] Final Memory: 2M/15M 
[INFO] ------------------------------------------------------------------------ 
[ERROR] The goal you specified requires a project to execute but there is no POM in this directory (
D:\experiment\maven). Please verify you invoked Maven from the correct directory. -> [Help 1] 
org.apache.maven.lifecycle.MissingProjectException: The goal you specified requires a project to exe 
cute but there is no POM in this directory (D:\experiment\maven). Please verify you invoked Maven fr 
om the correct directory. 
     at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:89) 
     at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:319) 
     at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156) 
     at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537) 
     at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196) 
     at org.apache.maven.cli.MavenCli.main(MavenCli.java:141) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
     at java.lang.reflect.Method.invoke(Method.java:601) 
     at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290) 
     at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230) 
     at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409) 
     at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352) 
[ERROR] 
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following arti 
cles: 
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MissingProjectException 
+1

Điều đó thật kỳ quặc. Tôi đã thử lệnh ** ** chính xác và nó tạo ra một dự án Maven được gọi là 'my-app' mà không có bất kỳ lỗi nào. Bạn có thể xác nhận rằng bạn đang phát lệnh này từ một thư mục chưa phải là một dự án Maven không? Nếu bạn chưa quen với Maven, tốt nhất là bạn hãy thử những thứ này từ một thư mục trống. –

Trả lời

2

Đầu tiên, bạn nên làm theo lời khuyên của các thông báo lỗi. Gọi Maven với các cờ bổ sung để biết thêm thông tin.

Thứ hai, bạn nên đảm bảo rằng kết nối internet của bạn đang hoạt động từ dòng lệnh. Bạn có thể tải xuống http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-archetype-plugin/2.2/maven-archetype-plugin-2.2.pom từ trình duyệt của mình không? Nếu không, Maven không thể tải xuống các plugin cần thiết và do đó việc khởi động bình thường cần thiết trước khi dự án của bạn có thể được xây dựng không được thực hiện. Kiểm tra xem trình duyệt của bạn có đang sử dụng proxy hay không và bạn chưa xác định biến môi trường HTTP_PROXY. Nếu đó là trường hợp, xác định trong vỏ bạn đang sử dụng biến của bạn HTTP_PROXY bằng lệnh:

set HTTP_PROXY=http://<my.proxy.host>:<port> 

với các giá trị phù hợp với my.proxy.hostport. Nếu nó hoạt động tốt, xác định biến môi trường cho hệ thống, để mỗi shell mở có biến môi trường được định nghĩa.

Vui lòng thêm thông tin đó vào câu hỏi của bạn và xin lỗi vì lời khuyên sai để gọi ping http://...., không thể hoạt động.

+0

HTTP_PROXY không được xác định. Ngoài ra, trình duyệt của tôi sử dụng proxy. Tôi đang sử dụng Windows 7 SP1 – pion

22

Tôi đang sử dụng Windows 7 SP1.

Tôi gặp sự cố vì tôi đã chạy nó bằng PowerShell.

Nó hoạt động tốt khi tôi chạy nó bằng CMD.EXE.

Cảm ơn sự giúp đỡ của mọi người.

+1

Sẽ thật thú vị khi thêm thông tin đó vào câu hỏi của bạn (hoặc thậm chí tiêu đề câu hỏi của bạn), bởi vì thông tin đó là một thông tin thú vị ở đây. Tốt mà nó hoạt động ngay bây giờ cho bạn. – mliebelt

+0

Quan sát thông minh, tôi có cùng một vấn đề. – javamonkey79

+0

Lạ lùng, nhưng nó hoạt động! –

0

Tôi không chắc chắn rằng bạn đang chạy "biên dịch mvn" từ thư mục POM và đó là lý do tại sao nó yêu cầu POM.

Nếu có, chỉ cần vào thư mục chứa pom và sau đó kích hoạt "mvn install" hoặc bất kỳ lệnh Maven nào khác.

9

Tôi chạy vào cùng một vấn đề, và có vẻ như chúng ta có thiết lập tương tự

  • Windows 7
  • Powershell
  • proxy HTTP

đây là những gì tôi phải làm :

  1. Gói tất cả "-D..." bên trong dấu ngoặc kép, ví dụ:

    mvn archetype:generate "-DarchetypeGroupId=org.apache.maven.archetypes" "-DarchetypeArtifactId=maven-archetype-quickstart" "-DgroupId=com.mycompany.app" "-DartifactId=my-app" 
    
  2. Đảm bảo bạn có "HTTP_PROXY" thiết lập đúng trong các biến của bạn envrironment (kiểm tra xem nó bằng cách gõ "echo $Env:HTTP_PROXY")

+0

Tôi thích câu trả lời này tốt hơn đề xuất sử dụng CMD.EXE vì đây là giải pháp thay vì giải pháp thay thế. Cảm ơn, nó đã làm việc cho tôi. – neontapir

2

Tôi đã có một lỗi tương tự và cố gắng sử dụng dấu ngoặc kép để bọc tất cả -D và nó đã làm việc cho tôi ..

Ví dụ:

mvn archetype:create "-DarchetypeGroupId=org.springframework.ws" "-DarchetypeArtifactId=spring-ws-archetype" "-DarchetypeVersion=2.1.4.RELEASE" "-DgroupId=com.mycompany.hr" "-DartifactId=holidayService" 
+0

Nếu điều này giải quyết được vấn đề chủ yếu phụ thuộc vào trình bao của bạn và các yếu tố tương tự. –

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