回答
我不知道Maven的任何支持清潔Eclipse項目或調試的。 Eclipse提供了一些允許刷新工作空間或執行「乾淨」構建的Ant任務(請參閱http://help.eclipse.org/galileo/index.jsp?topic=/org.eclipse.platform.doc.isv/guide/ant_eclipse_tasks.htm)。這些Ant任務可能會與AntRunner一起使用,但這很難,因爲它們是Eclipse特有的,並且依賴於一些Eclipse插件。
不幸的是,我不知道既沒有Ant任務,也沒有Maven選項來執行運行配置(這是調試所必需的)...只需執行Java應用程序應該是可能的,但我不確定,應該是構建的一部分 - 在我看來,這實際上是一個不同的任務。
我知道這不是同一個任務,但我仍然可以創建一個快捷方式,以便所有這3個操作一個接一個地執行,99%的時間是編譯我的應用程序,然後在調試模式下運行它。如果maven沒有提供,那麼也許可以使用eclipse工具來設置它? – John156
不幸的是,除了在Java中編寫插件外,我不知道任何其他方式 - 但這可能意味着需要花費大量時間,因爲您必須瞭解Resources API(文件系統處理)和Launch配置(用於執行程序 - 這個API很難理解)。但我相信有可能以這種方式做你想做的事。 –
如果您的工作流程符合標準,Maven非常棒。
如果不是這種情況,最好的辦法是在工程中添加一個build.xml
Ant構建文件,您可以使用它編寫「宏」以運行重複性任務。使用exec
任務從Ant調用Maven。
如果使用Maven命令行選項可以實現所有功能,另一種方法是安裝m2eclipse plugin。這使您可以創建「啓動配置」,使用您想要的選項運行Maven。
「Common」選項卡允許您將啓動配置保存爲項目中的文件。您還可以將它作爲收藏夾添加到「運行」或「調試」菜單中。這樣,它始終保持在菜單中的相同位置,這使得使用鼠標或組合鍵更簡單。
[編輯]您不能從Maven或Ant啓動調試器,但您可以執行其他三個步驟。創建一個Maven啓動配置(運行... - >運行配置... - >選擇Maven - >新(+)「),並把clean install android:deploy
中的字段Goals
。
運行這三個按順序。上述其他意見,使這個更舒適
[EDIT2]你需要一個宏延長看到這個問題:。Is there a Macro Recorder for Eclipse?
也可以考慮使用兩個目標目錄,一個用於Eclipse,另一個對Maven 。如果您運行mvn clean
,則始終會混淆不會刷新bin
或中的文件的Eclipse由於沒有人應該寫在那裏,但Eclipse本身。見How to configure Maven project to use separate output folders in Eclipse。
複製這裏的重要位,以避免損壞的鏈接:
<project>
...
<build>
<outputDirectory>${basedir}/${target.dir}/classes</outputDirectory>
<testOutputDirectory>${basedir}/${target.dir}/test-classes</testOutputDirectory>
</build>
<properties>
<target.dir>target</target.dir>
</properties>
<profiles>
<profile>
<id>eclipse-folders</id>
<properties>
<target.dir>target-eclipse</target.dir>
</properties>
</profile>
</profiles>
...
對不起,被誤解了,但這已經完成了。我現在想做的是在完成這個maven任務後執行兩個正常的eclipse任務:一個「乾淨的項目」和一個「作爲android應用程序調試」。因此,只需要1個快捷方式就可以完成這3個任務(運行Maven配置,即'clean install android:deploy',清理項目,'調試爲android應用程序')。 – John156
不要對Eclipse和Maven使用相同的目標文件夾;那應該解決你的問題。看到我的第二次編輯。 –
謝謝,有兩個目標目錄解決了'乾淨'的問題。儘管我仍然需要一種方法來完成2個任務,其中一個正在運行maven配置(clean,install,android:deploy),另一個正在運行'debug as ... android應用程序。除了宏,沒有其他解決方案嗎?如果沒有,那麼如何用宏編輯器來做到這一點,比如「幾乎宏觀」? – John156
這似乎是工作,不是最優化的解決方案,需要在此
第一步m2eclipse插件被添加的maven-ant-運行插件到你的pom。XML,如果你看一下插件配置,它被設置編譯階段
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.6</version>
<executions>
<execution>
<phase>compile</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<target>
<property name="runtime_classpath" refid="maven.runtime.classpath"/>
<java classname="main class name">
<classpath>
<pathelement path="${runtime_classpath}"/>
</classpath>
</java>
</target>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
從Eclipse中調試菜單後執行這個插件選擇調試配置
Maven構建==>新==>添加清潔編譯目標(單擊「瀏覽工作空間」選擇工作空間)
如果您單擊調試,它將帶來調試透視圖,並且還會在您的應用程序中引發第一個中斷點。它雖然沒有找到源代碼,但是如果你點擊編輯源代碼查找按鈕並選擇工作區,它似乎可以讓你看到源代碼。
我也安裝了m2eclipse。我試圖做你說的,但沒有按預期工作。也許這是因爲它不只是一個Java應用程序,而是一個Android應用程序?我的maven配置包括clean,install和android:deploy,然後我想做一個java clean的項目,然後調試android應用程序。我希望所有這3個操作(maven config + clean + debug as)一步完成,但乾淨的編譯不會啓動應用程序(即使在非調試模式下也不會)。 – John156
只要你可以使用eclipse在調試模式下運行這個應用程序,我不認爲你應該在哪裏部署應用程序。我想知道是否正在調用maven-ant-run,你可以在m2eclipse中測試這個正在運行的編譯插件,在目標標籤後面加上這個echo命令:
你好,再次抱歉,我有一個更迫切的問題要解決。所以我試着
- 1. 自動化Maven腳本
- 2. 使用Jubula和Maven自動化'Eclipse插件'測試
- 3. 使用eclipse/maven自動化構建任務m2e
- 4. 在Eclipse中自動安裝Maven項目
- 5. 從eclipse自動發佈maven項目
- 6. 用maven/eclipse停止自動建築
- 7. 在Eclipse中的自動化
- 8. 從Eclipse自動化UML
- 9. 自動化Eclipse/Pydev設置
- 10. Maven的父項目自動化
- 11. 自動化Maven工件發佈
- 12. Eclipse的自動格式化評論
- 13. 自動格式化 - Eclipse的C + +
- 14. 自動化Eclipse插件單元測試
- 15. 自動化Eclipse「Yui壓縮機...」
- 16. Aptana(Eclipse)GUI的測試自動化
- 17. Eclipse CDT:自動化組織包括
- 18. Eclipse C宏自動格式化
- 19. Eclipse的自動格式化,註釋行
- 20. JMagick自動化使用Eclipse(JAVA)
- 21. 使用maven自動化自定義war文件
- 22. eclipse checkstyle自定義檢查與maven
- 23. 來自Eclipse,maven,spring project的jar
- 24. 來自maven和eclipse的不同耳朵
- 25. 關於eclipse和maven的奇怪事情,以及eclipse的自動生成
- 26. eclipse中爲maven項目自動構建的內容是什麼?
- 27. 使用Eclipse自動Maven項目更改分辨率
- 28. 在Eclipse中自動導入新的Maven模塊
- 29. 在eclipse下自動更新maven項目,在svn checkout之後
- 30. 如何在Eclipse中自動爲Maven項目配置Checkstyle
爲什麼你用Maven清理項目? Eclipse在文件更改時自動重建它。不需要清潔。 –
當我運行我的maven配置,其中包括乾淨,安裝和android:部署,如果我調試爲'android應用程序沒有先清理項目,我得到這個錯誤:無法安裝* .apk設備'*':本地路徑不存在。我想找到一種方法來運行這個maven配置+清理項目+調試......一步到位,無論是使用操作系統技巧,日食技巧,maven技巧或任何可以解決此問題的方法。 – John156
這真的很奇怪;部署應該做的安裝和安裝應該創建該文件,所以我不明白爲什麼「乾淨」將是必要的...請參閱我的答案下面如何用較少的點擊做到這一點。 –