Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 蚂蚁到马文的迁移。Maven build.xml的替代方案_Java_Spring Boot_Maven_Ant_Build.xml - Fatal编程技术网

Java 蚂蚁到马文的迁移。Maven build.xml的替代方案

Java 蚂蚁到马文的迁移。Maven build.xml的替代方案,java,spring-boot,maven,ant,build.xml,Java,Spring Boot,Maven,Ant,Build.xml,背景: 我正在开发一个名为draw.io的开源工具,它基于ANT构建系统,并使用Java Servelet来处理请求。我应该使用相同的前端文件将其迁移到spring boot。我将这些文件放在静态文件夹中,并尝试构建项目。我认为前端js文件在这个过程中没有得到构建(即没有转换为app.min.js,这是前端文件的主要入口点),并且js更改没有反映在文件中 我认为build.xml中提到了这个过程,它是ANT特定配置的各个步骤的一部分。现在,我必须在maven中实现与迁移过程相同的功能 我们如何将

背景

我正在开发一个名为draw.io的开源工具,它基于ANT构建系统,并使用Java Servelet来处理请求。我应该使用相同的前端文件将其迁移到spring boot。我将这些文件放在静态文件夹中,并尝试构建项目。我认为前端js文件在这个过程中没有得到构建(即没有转换为app.min.js,这是前端文件的主要入口点),并且js更改没有反映在文件中

我认为build.xml中提到了这个过程,它是ANT特定配置的各个步骤的一部分。现在,我必须在maven中实现与迁移过程相同的功能

我们如何将build.xml转换为maven,或者作为构建过程的一部分实现build.xml中提到的任务的maven替代方案是什么

这是build.xml的高级视图:->

我还提供build.xml的链接


请给我一些指导。

对于Maven,您需要一个
pom.xml
。在这里,您需要定义和配置所需的插件。如果您有一个用Ant编写的特定过程想要重用,您可以使用Maven Antrun插件调用它


一般来说,Maven与Ant非常不同。您不编写过程代码,而是配置在生命周期中运行的插件

在迁移到
maven
之前,我希望您理解为什么要从
ant
迁移到
maven

您应该尝试为相关的
ant
任务寻找替代插件。下面的插件可能会实现您在
ant

<plugin>
      <groupId>com.github.blutorange</groupId>
      <artifactId>closure-compiler-maven-plugin</artifactId>
      <version>2.16.0</version>
      <configuration>
        <!-- Base configuration for all executions (bundles) -->
        <baseSourceDir>${project.basedir}/src/main/resources</baseSourceDir>
        <baseTargetDir>${project.build.directory}/generated-resources</baseTargetDir>
      </configuration>
      <executions>
        <!-- Process all files in the "includes" directory individually-->
        <execution>
          <id>default-minify</id>
          <configuration>
            <encoding>UTF-8</encoding>
            <sourceDir>includes</sourceDir>
            <targetDir>includes</targetDir>
            <includes>**/*.js</includes>
            <skipMerge>true</skipMerge>
            <closureLanguageOut>ECMASCRIPT5</closureLanguageOut>
          </configuration>
          <goals>
            <goal>minify</goal>
          </goals>
          <phase>generate-resources</phase>
        </execution>
      </executions>
    </plugin>
有关如何使用maven antrun插件的更多详细信息:


我已经有了一个pom.xml,因为它是SpringMaven项目。图中提到了我需要实现的概述,基本上我想在maven中复制build.xml步骤。你认为首选的方法是什么?1.使用antrun运行build.xml,或者为build.xml中提到的整个构建过程编写自定义插件?如果你看build.xml,它是一个相当大的文件。对于许多事情,比如编译和捆绑,已经有了Maven插件。您可能需要自己编写一些其他东西,比如Maven插件或Ant代码段。如果您使用Antrun运行整个build.xml,那么您在技术上已经迁移到Maven,但实际上并不是这样。。我尝试使用闭包编译器maven插件缩小文件。但是在运行到一些文件之后,它抛出了一些与严格模式相关的错误,比如变量不能在严格模式下声明,然后停止。我还加了假。但它仍然显示相同的错误。请详细说明收到的错误。我还要求您发布另一个问题或根据您尝试的详细错误信息更新当前问题。
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-antrun-plugin</artifactId>
    <version>1.8</version>
    <executions>
        ...
    </executions>
</plugin>