maven eclipse自动化

maven eclipse自动化,eclipse,maven,Eclipse,Maven,我将eclipse与maven一起使用。在运行配置之后,我总是执行相同的任务(清理项目,然后作为java应用程序进行调试)。有没有办法将这两个任务添加到maven配置中 谢谢我不知道有谁支持Maven清理Eclipse项目或调试 Eclipse提供了一些Ant任务,允许刷新工作区或执行“干净”构建(请参阅)。这些Ant任务可以与AntRunner一起重用,但这很难,因为它们是特定于Eclipse的,并且依赖于一些Eclipse插件 遗憾的是,我不知道Ant task和Maven选项都不能执行运行

我将eclipse与maven一起使用。在运行配置之后,我总是执行相同的任务(清理项目,然后作为java应用程序进行调试)。有没有办法将这两个任务添加到maven配置中


谢谢

我不知道有谁支持Maven清理Eclipse项目或调试

Eclipse提供了一些Ant任务,允许刷新工作区或执行“干净”构建(请参阅)。这些Ant任务可以与AntRunner一起重用,但这很难,因为它们是特定于Eclipse的,并且依赖于一些Eclipse插件


遗憾的是,我不知道Ant task和Maven选项都不能执行运行配置(这是调试所必需的)。。。简单地执行Java应用程序应该是可能的,但我不确定,这应该是构建的一部分——在我看来,这真的是一项不同的任务。

如果您的工作流程符合标准,Maven将非常棒

如果不是这样,那么最好的办法是向项目中添加一个
build.xml
Ant构建文件,您可以使用该文件编写“宏”来运行重复性任务

使用
exec
任务从Ant调用Maven

如果可以使用Maven命令行选项实现所有功能,另一种方法是安装。这允许您创建“启动配置”,使用您想要的选项运行Maven

选项卡“Common”允许您将启动配置保存为项目中的文件。也可以将其作为收藏夹添加到“运行”或“调试”菜单中。这样,它总是停留在菜单中的同一位置,这使得使用鼠标或组合键进行点击更加简单

[EDIT]您不能从Maven或Ant启动调试器,但可以执行其他三个步骤。创建一个Maven启动配置(运行…->运行配置…->选择Maven->新建(+)),并将
clean install android:deploy
放在
Goals
字段中

这三个步骤都是按顺序进行的。请参阅我上面的其他评论,以使这一点更加舒适

[EDIT2]您需要一个宏扩展。请参见以下问题:

也考虑使用两个目标目录,一个用于Eclipse,一个用于Maven。如果运行<代码> MVN Curry,这总是混淆Eclipse,它不刷新“代码”中的文件> bin < /代码>或<代码>目标< /代码>,因为没有人应该在那里写,但Eclipse本身。参见.P/> 复制此处的重要位以避免断开链接:

<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>
  ...  

...
${basedir}/${target.dir}/classes
${basedir}/${target.dir}/测试类
目标
eclipse文件夹
目标月食
...  

这似乎是可行的,不是最理想的解决方案,您需要m2eclipse插件来实现这一点

第一步是将maven ant run插件添加到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>

org.apache.maven.plugins
maven antrun插件
1.6
编译
跑
从eclipse调试菜单中选择调试配置

Maven Build==>New==>在目标中添加干净的编译(单击浏览工作区选择工作区)


如果您单击“调试”,它将显示调试透视图,并在应用程序中显示第一个断点。虽然它没有找到源代码,但如果您单击“编辑源代码查找”按钮并选择“工作区”,它似乎可以让您在调试时看到源代码。

我知道这不是同一个任务,但我仍然可以创建一个快捷方式,以便这3个操作一个接一个地执行,99%的时间我编译我的应用程序时都是在调试模式下运行。如果maven没有提供,那么也许可以使用eclipse工具进行设置?遗憾的是,除了用Java编写插件之外,我不知道有什么其他方法,但这可能意味着要投入大量的时间,因为你必须这样做了解资源API(文件系统处理)和启动配置(用于执行程序-此API很难理解)。但我相信这样做是可能的。为什么要用Maven清理项目?当文件更改时,Eclipse会自动重建它。不需要清理。在我运行Maven配置(包括clean、install和android:deploy)后,如果我作为“android应用程序”调试而不首先清理项目,我会出现此错误或者:在设备“”上安装.apk失败:本地路径不存在。我想找到一种方法,一步运行此maven config+清理项目+调试,无论是使用操作系统技巧、eclipse技巧、maven技巧还是任何可以解决此问题的方法。这真的很奇怪;deploy应该完成安装,安装应该创建文件,所以我看不出为什么“清理”是必要的…请看下面我对我的答案所做的编辑,如何减少点击次数。是的,我也不知道为什么清理项目是必要的,我只知道它删除了“本地路径不存在”“错误。也许这只是我配置中的一个错误,因为它显然没有正确定位apk。关于这个问题的任何想法都会受到欢迎,尽管这远没有什么意义,因为我找到了一个解决方法。只需使用
Alt+F5
组合即可。Eclipse会自动清理和构建您的项目。它还额外更新了任何maven依赖项,我也安装了m2eclipse。我试着按你说的去做,但没有按预期的那样做。也许是因为它不仅仅是一个java应用程序,而是一个android应用程序?我的maven配置包括clean、install和android:deploy,然后我想对项目进行java清理,然后作为android应用程序进行调试。我想要所有这3个操作(ma