最近我試圖運行2048 bot。我不是java
程序員,只是爲了運行一個程序而安裝IDE
會過度。所以我嘗試編譯並從命令行運行它,但這對我來說不是一個簡單的任務,主要是因爲the dependencies。然後我被告知,maven
可能派上用場。所以我想知道是否可以使用maven
或任何工具輕鬆編譯和運行程序,而無需安裝IDE
?如何在沒有IDE的情況下編譯並運行Intelij IDEA java項目?
回答
是的,你可以確保你已經安裝了Java Development Kit和Maven。然後按照Maven user guides你應該可以構建它並運行。 但是,如果你從未使用過maven,那麼它可能並不簡單,所以我建議你去問一位經驗豐富的java開發人員,如果你碰巧知道的話。
pom.xml
文件將包含所有需要編譯的文件。在這種特殊情況下,它只聲明瞭一個依賴項selenium-firefox-driver
。使用maven,所有POM(項目對象模型)文件都會繼承「主」父POM文件的默認值。 Maven使用「約定優於配置」的原則。任何沒有明確配置的東西,默認是來自maven的父pom的標準配置。這就是爲什麼你可以從這樣一個看似簡單的POM文件構建一個項目。
您將無法從IntelliJ IDEA模塊(.iml
)文件運行構建。實際上,IntelliJ IDEA從POM生成該文件。
首先,確保你有一個Java JDK installed。 Java 8是最新的。但是Java 7 JDK會很好。之後,提供的Running Maven鏈接@jeroen_de_schutter提供了所有您需要的信息。點擊該文檔中的頂部鏈接至Download and Install Maven。完成後,從命令行導航到包含項目的目錄(即其中包含pom.xml
文件的目錄),然後發出命令:mvn compile
編譯代碼,mvn test
編譯和測試,或mvn package
編譯,測試並打包代碼。您可以將clean
添加到這些命令中,以便maven執行乾淨的構建。例如:mvn clean package
。請參閱第二個Quick Start和第三個Use Maven鏈接中的運行Maven文檔以獲取更多詳細信息和信息。
請注意,第一次運行構建(任何maven構建)時,它會比平時長很多。這是因爲maven必須下載(並緩存)大量的插件和依賴項。一旦完成,構建要快得多。但是,第一次構建新項目時,第一次構建會花費更長的時間,因爲它會下載並緩存該項目所需的依賴項和插件,這些依賴項和插件尚未檢索到。
感謝您的詳細解答。事情越來越清楚。儘管如此,我可能還沒有讓自己清楚。我能夠編譯該程序,因爲我知道有'硒'依賴性。所以我只是在他們的下載頁面下載了第一個標有「java」字樣的東西。然後'javac Program.java -cp selenium-java ... jar',它就在那裏,等着我運行它。但是真正的問題開始了。突然間,'selenium-java ... jar'已經不足以運行該程序。最後,我運行該程序,但這太難了。 –
現在我意識到,「maven」與第二部分無關,運行該程序。所以我看到以下幾種方式來運行程序:1)運行程序,查看需要哪些類,下載並添加相應的'jar'文件,等等直到它剛剛運行(參見[我的答案]中的最後一個shell腳本) (http://stackoverflow.com/questions/22810359/how-do-i-know-which-jar-files-java-program-needs-to-run)),2)看看'iml'-file ,他們都應該在那裏。第二種方式似乎更容易,如果存在'iml'文件。有沒有更好的方法來運行程序? –
- 1. 如何在沒有運行SBT的情況下編譯測試
- 2. 如何在沒有QtCreator的情況下編譯Qt 5項目?
- 3. 如何在不安裝IDE的情況下編譯並運行此Delphi代碼?
- 4. 無法在intelij上編譯java項目Idea 14 CE
- 5. 如何在不使用IDE的情況下在Linux上運行Java項目
- 6. 在沒有Scala編譯器的情況下運行並下載Apache Spark
- 7. 如何運行和編譯沒有IDE和幾個包的java項目?
- 8. MyEclipse如何在沒有javac的情況下編譯Java類?
- 9. 如何在沒有Shade插件的情況下編譯DropWizard?
- 10. 如何編譯C程序以在沒有命令框的情況下運行?
- 11. 如何在沒有編譯器的情況下引用cobol項目?
- 12. 我可以在沒有AVD的情況下運行android項目
- 13. Matlab:在沒有Matlab編譯器運行時的情況下使用Java類
- 14. 在沒有IDE的情況下運行Qt程序
- 15. 如何在沒有MANIFEST.MF的情況下運行Java .jar?
- 16. 如何在沒有java的情況下運行SQL命令?
- 17. 如何在沒有visual studio的情況下編譯C文件
- 18. 在全局安裝項目的依賴關係,並在沒有`node_modules /`的情況下運行項目 - 如何?
- 19. 在沒有運行時庫的情況下在Linux下編譯C++
- 20. 如何在沒有IDE幫助的情況下導入Maven 2項目
- 21. 在沒有瀏覽器/網頁的情況下運行Java EE項目
- 22. Flash項目編譯沒有Flash IDE
- 23. 如何在沒有此文件夾結構的情況下運行symfony項目
- 24. 如何在沒有虛擬主機的情況下運行Symfony項目?
- 25. 在沒有gnustep的情況下編譯目標c程序
- 26. 如何在沒有exec插件的情況下執行java項目?
- 27. 在沒有MSVCRT運行時的情況下在Visual Studio 2012中編譯C
- 28. 如何在沒有IDE的情況下查找聲明/定義?
- 29. C++ IDE在沒有重新編譯的情況下檢測語法錯誤?
- 30. 如何在沒有IDE的情況下使用Microsoft C++編譯器編譯C++庫
所以我在這裏問一個有經驗的java開發人員;)據我所知,[pom.xml](https://github.com/aaronshaver/2048_Bot_2.0/blob/master/pom.xml)沒有足夠的信息。 [2048_Bot.iml](https://github.com/aaronshaver/2048_Bot_2.0/blob/master/2048_Bot.iml)似乎更像它,但它是'IDEA'的'maven'不會讀取的文件,我拿了它。通過檢查'2048_Bot.iml',我可以手動運行它,下載並指定所有依賴項。但是我想知道'maven'能否簡化任務。 –
pom應該有你需要的一切。 iml文件用於intellij的消費,不適用於人類 - 它包含IntelliJ需要的東西,而不是你需要的東西。 pom是一切,相信它。 –