【问题标题】:How to build dart project with dart-maven-plugin?如何使用 dart-maven-plugin 构建 dart 项目?
【发布时间】:2017-02-11 09:06:37
【问题描述】:

我需要使用 Maven 构建我的 Dart 项目。

我为这个目标找到了dart-maven-plugin,它可以很好地解决依赖关系。

在 Dart 中,我使用两个命令编译我的项目:

  1. pub get

  2. pub build

所以,当我写的时候

mvn dart:pub

它获取所有依赖项。

现在我需要构建我的项目。所以,我写了

mvn dart:pub -DpubCommand=build

但它仍在解决依赖关系,它没有构建项目!

如何使用dart-maven-plugin 构建项目?

【问题讨论】:

  • But it doesn't work 展开
  • 对不起,它有效,但它解决了依赖关系,就像我运行 get 命令一样。我的意思是当我运行“mvn dart:pub -DpubCommand=build”时,它会显示下一个输出:
    [INFO] Run pub for package root: f:\Maven\dart-maven-plugin-example\src\main \dart\range Resolving dependencies... Got dependencies!
    [INFO] 为包根运行 pub:f:\Maven\dart-maven-plugin-example\src\main\dart\rom
    依赖项...
    有依赖项! [INFO] 为包根运行 pub:f:\Maven\dart-maven-plugin-example\src\main\dart\polymer Resolving dependencies... Got dependencies!
  • 它不会构建任何东西!但我需要构建我的项目。
  • 你不能直接运行pub build作为maven的shell命令吗?
  • 好吧,我认为这不是最好的主意,因为我有为此目的的插件。这就像你有巴士票时步行去一样。但如果插件不起作用,我可以使用你的想法作为 B 计划。

标签: java maven web plugins dart


【解决方案1】:

我写错了参数名称。正确的是:

    mvn dart:pub -Ddart.pub.command=build

还有示例项目名称 - “dart-maven-plugin-example”
不要构建这个项目,它不会构建,因为某些子项目中没有 web 文件夹。
希望它会对其他人有所帮助。

【讨论】:

    【解决方案2】:

    如果你想这样做,你可以将这个 ant 插件添加到你的项目中:

    <plugin>
        <artifactId>maven-antrun-plugin</artifactId>
        <executions>
            <execution>
                <phase>compile</phase>
                <configuration>
                    <tasks>
                        <exec executable="cmd" osfamily="windows" dir="${project.basedir}/src/main/dart/home">
                            <arg value="/c"/>
                            <arg value="pub.bat"/>
                            <arg value="build"/>
                        </exec>
                        <exec executable="/bin/sh" osfamily="mac" dir="${project.basedir}/src/main/dart/pegboard">
                            <arg value="-c"/>
                            <arg value="pub build --mode=debug"/>
                        </exec>
                        <copy todir="${project.build.directory}/classes/static">
                            <fileset dir="${project.basedir}/src/main/dart/your-dart-project-name/build/web">
                                <include name="*/**"/>
                            </fileset>
                        </copy>
                    </tasks>
                </configuration>
                <goals>
                    <goal>run</goal>
                </goals>
            </execution>
        </executions>
    </plugin>
    

    这两个 ant 任务将运行“pub build”,然后将您的构建文件复制到相应的目录。这是为从静态文件夹提供文件的 Spring Boot 应用程序设置的。您可以更改文件的位置。将 'your-dart-project-name' 替换为您的 dart 项目名称。 '*/**' 是一个 ant 匹配器,它将递归匹配所有文件。

    exec 命令要求您已将 dart-sdk 'bin' 文件夹添加到类路径中。这将使 pub 可执行。

    【讨论】:

      猜你喜欢
      • 2012-09-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-24
      • 2011-12-06
      • 2013-03-29
      • 2014-10-15
      相关资源
      最近更新 更多