Java 在此期间,maven';将jsp放在目标上的s阶段?
我需要知道在maven周期的哪个阶段,jsp被放在目标目录上,以及通过哪个进程 我使用来对我的Java 在此期间,maven';将jsp放在目标上的s阶段?,java,maven,jsp,gruntjs,maven-war-plugin,Java,Maven,Jsp,Gruntjs,Maven War Plugin,我需要知道在maven周期的哪个阶段,jsp被放在目标目录上,以及通过哪个进程 我使用来对我的.jsp文件进行转换(如果您想知道的话,我会生成js脚本的插入) Grunt在temp dir中复制jsp文件,执行其工作并将更新的jsp放在target/${project.build.name}目录中。 (如果我只启动grunt,我可以检查它的工作) 我的问题是更新后的文件被移动到同一存储库中的原始jsp覆盖 如果我只启动grunt(我执行mvn编译,谁启动grunt任务),我可以很好地检查我的gr
.jsp
文件进行转换(如果您想知道的话,我会生成js脚本的插入)
Grunt在temp dir中复制jsp文件,执行其工作并将更新的jsp放在target/${project.build.name}目录中。
(如果我只启动grunt,我可以检查它的工作)
我的问题是更新后的文件被移动到同一存储库中的原始jsp覆盖
如果我只启动grunt(我执行mvn编译
,谁启动grunt任务),我可以很好地检查我的grunt工作。但是,如果我进行mvn安装
,文件将被覆盖
我想我可以通过在移动原始jsp之后启动grunt来纠正它
问题:您知道在maven周期的哪个阶段jsp被放在目标目录上吗
顺便说一句,我的项目是来自maven工件webapp的一个webapp
我需要知道在maven周期的哪个阶段,jsp被放在目标目录上,以及通过哪个进程
在包的阶段
由及其目标执行
有了打包war
,Maven构建将在package
阶段默认调用war:war
(war
,Maven-war插件)。因此,无需在POM文件中显式指定它
Maven War插件将
- 默认情况下,根据其配置项指定,在
下生成完整的webapp${project.Build.directory}/${project.Build.finalName}
- 默认情况下,按照其配置项的指定,将其打包为
下的${project.build.directory}
文件.war
我的问题是更新后的文件被移动到同一存储库中的原始jsp覆盖 在本例中,您遇到了文件冲突,同一目标文件夹中的相同文件(具有不同内容)(
target/${project.build.name}
如您所述,与上面的默认War插件输出目录相同)
您可以将修改后的.jsp
文件重定向到另一个目录下,比如target/grunt
,然后配置Maven-War插件也从该目录获取资源。这些额外资源将添加到默认资源之后,因此会覆盖它们(在冲突的情况下)
例如,您可以使用以下附加内容配置POM文件:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.6</version>
<configuration>
<webResources>
<resource>
<!-- this is relative to the pom.xml directory -->
<directory>target/grunt</directory>
</resource>
</webResources>
</configuration>
</plugin>
org.apache.maven.plugins
maven战争插件
2.6
目标/呼噜声
全局配置还将应用于作为上述绑定的一部分执行的默认Maven War插件
在上面的代码片段中,我们对Maven War插件说,也要包含
target/grunt
文件夹中的资源。该文件夹中的任何.jsp
文件都将被添加到构建的webapp中(作为文件夹和.war
文件),并覆盖原始的.jsp
文件(如您实际需要)。您的包是war
?我想你使用的是maven war插件?我是用war打包的,但是有没有maven war插件都有问题。