Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/352.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原型中定义项目创建期间要执行的任务_Java_Maven_Ant_Maven Archetype - Fatal编程技术网

Java 在maven原型中定义项目创建期间要执行的任务

Java 在maven原型中定义项目创建期间要执行的任务,java,maven,ant,maven-archetype,Java,Maven,Ant,Maven Archetype,我有一个用于创建项目的自定义maven原型。我的问题是,当我们定义要在maven项目的各个生命周期阶段运行的ant任务时。当使用我的原型生成项目时,我是否可以运行任务。在项目生成过程中,我希望执行某个文件,该文件将进一步复制到我的项目的webapp文件夹中。是否可以在maven原型中为创建阶段定义这样的任务。谢谢在生成原型时,您可以指定在生成原型后直接运行项目的哪些目标,如所写的-Dgoals=plugin:goal 因此,让项目pom具有以下内容: <plugin> <

我有一个用于创建项目的自定义maven原型。我的问题是,当我们定义要在maven项目的各个生命周期阶段运行的ant任务时。当使用我的原型生成项目时,我是否可以运行任务。在项目生成过程中,我希望执行某个文件,该文件将进一步复制到我的项目的
webapp
文件夹中。是否可以在maven原型中为创建阶段定义这样的任务。谢谢

在生成原型时,您可以指定在生成原型后直接运行项目的哪些目标,如所写的
-Dgoals=plugin:goal

因此,让项目pom具有以下内容:

<plugin>
    <artifactId>maven-antrun-plugin</artifactId>
        <executions>
            <execution>
            <id>tt</id>
                <phase>run</phase>
                <goals>
                    <goal>run</goal>
                </goals>
                <configuration>
                    <tasks>
                        <echo>${PATH}=${env.PATH}</echo>
                        <echo>Users Home Directory: ${user.home}</echo>
                        <echo>Projects Base Director: ${basedir}</echo>
                    </tasks>
                </configuration>
            </execution>
        </executions>
</plugin>

maven antrun插件
tt
跑
跑
${PATH}=${env.PATH}
用户主目录:${user.Home}
项目库主管:${basedir}

调用
mvn原型:generate-Dgoals=antrun:run
应该允许您在生成
antrun:run
目标后直接运行,并执行您需要的任何脚本。

我已经尝试过了,但它说
没有定义Ant目标-跳过了
。我正在调查这个问题。但我想知道在eclipse中创建项目时如何传递
-Dgoals=antrun:run
。我认为在这种情况下,最好的选择是使用外部工具配置,这并不完全相同,但我相信本文总结了这一点: