【问题标题】:Easier way to run a Java application from Maven?从 Maven 运行 Java 应用程序的更简单方法?
【发布时间】:2011-01-25 10:08:31
【问题描述】:

如果我理解正确,我需要输入这个来从 maven 运行我的项目:

mvn compile
mvn exec:java -Dexec.mainClass="com.foo.bar.blah.Main"

有什么方法可以让这更简单吗?最理想的情况是我想这样做

mvn run

【问题讨论】:

    标签: java maven


    【解决方案1】:

    1) 创建一个名为“run”(或您选择的其他名称)的新配置文件

      <profiles>
        <profile>
          <id>run</id>
    

    2) 将配置文件的默认目标设置为“验证”(或者您可以选择“安装”,编译后选择一个阶段将确保代码在运行类之前会自动编译)

     <profiles>
        <profile>
          <id>run</id>
          <build>
            <defaultGoal>verify</defaultGoal>
    

    3) 将 exec-maven-plugin 添加到此配置文件(请参阅this),但将其配置为在“验证”阶段运行。

       <execution>  
        <phase>test</phase>  
    

    4) 您现在可以使用以下命令运行您的课程:

    mvn -Prun
    

    【讨论】:

      【解决方案2】:

      多一点配置,少一点命令行参数;-)

      使用相同的 exec:java plugin,您可以在 pom.xml 中配置您的任务,然后通过将您的目标映射到生命周期的运行步骤以更简单的方式执行它,例如 this example 显示。

      【讨论】:

      • 看到了那个,但据我所知,这意味着我必须将它添加到现有步骤之一。认为他们在那里使用了测试步骤,是的......当我测试时我想测试,而不是运行:p
      • 是的,我更喜欢更多的配置而不是更多的命令行参数。编写配置我可以做一次就完成;-)
      【解决方案3】:

      如上例所示,您可以将该插件包装到单独的配置文件中。看看3rd solution

      【讨论】:

        【解决方案4】:

        遗憾的是,没有`(据我所知)。如果你有一个网络应用程序,你可以使用Jetty 插件来运行它:

        mvn jetty:run

        但对于独立应用程序,您需要 exec 插件。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-04-26
          • 1970-01-01
          • 2019-09-26
          相关资源
          最近更新 更多