今日遇到了一個有關於 NetBean 8.2 配上 Maven 的問題 ... 話說工作需要使用到 NetBean 8.2 ... 所以把原先有的 NetBean 11.2 砍掉了,找了個 NetBean 8.2 回來安裝,一切都很順利。直到要 Create Maven Web Application 就出事了。 ### 事件一 ```text Cannot run program "cmd" (in directory "C:\projects\open"): Malformed argument has embedded quote: "C:\Program Files\NetBeans-11.1\netbeans\java\maven\bin\mvn.cmd" ``` 每一次 Create Project 到了最後階段要 Finish 時,都會彈出這樣的問題。在網上查找了一會後發現都有很多人遇到了這個問題,大約是因為 Security Fix 所以有些動作變成不准許了,要解決的話可以修改一下 NetBean 的 Config 檔案。 1. 打開檔案 `<netbeans-dir>\etc\netbeans.conf` 2. 找出 `netbeans_default_options` 的設定 3. 把 `-J-Djdk.lang.Process.allowAmbiguousCommands=true` 加入到設定的後面 經過上面的動作,解決了上面的問題 !! > 參考網站 : https://stackoverflow.com/questions/58411279/java-with-maven-wouldnt-build-cannot-run-program-cmd-malformed-argument-has ### 事件二 完後成上的事件後,Maven 好像運作得不錯地下載相依的檔案,突然又出現了第二個問題 !! ```text [ERROR] No plugin found for prefix 'archetype' in the current project and in the plugin groups [org.apache.maven.plugins, org.codehaus.mojo] available from the repositories [local (C:\Documents and Settings\ccen\.m2\repository), central (http://repo1.maven.org/maven2)] -> [Help 1] ``` 又卡住了 !!! 這次的問題大約是因為 NetBean 在 Request http://repo1.maven.org/maven2 時出了問題。又在網上找了找看看有沒人遇到相同的問題,後快就找到了 ! > 參考網站 : https://stackoverflow.com/questions/6472782/mvn-archetypegenerate-does-not-work-no-plugin-found-for-prefix-archetype 內文有說到可能是因為 Firewall 等等因素,可以直接試試在 Browser 上貼上 http://repo1.maven.org/maven2 看看能否連上。筆者立即試一試,結果給了以下的回覆 !! ```text 501 HTTPS Required. Use https://repo1.maven.org/maven2/ More information at https://links.sonatype.com/central/501-https-required ``` 原因是因為改用了 HTTPS 了,舊有的 HTTP 服務終結了。正當想看看能否改變 Maven2 的 URL 由 HTTP 如何變為 HTTPS 時,看到有其他使用者留言 :  NetBean 8.2 或以下就會遇到這個問題了 ... 看來還是乖乖砍掉 NetBean 8.2 重新下載 NetBean 11.2 吧 ... 這文章就是在安裝 NetBean 11.2 時趁著等待的時間記錄下來 ...