Maven网站资源问题

Ayy*_*udy 6 java eclipse resources maven

我有一个Maven Web项目,我在src\main\webapp \文件夹下有一些CSS和Javascript文件.我不断对这些文件进行更改,并希望快速查看我的更改.如果我运行maven install,由于项目依赖性需要很长时间.有时我想要改变的是我的CSS文件中的一行代码,并且不想重新编译其他所有代码.我有一个maven插件,将我的输出war文件发布到我的JBoss实例.理想情况下,我想运行一个maven执行脚本,它将我的Web资源快速复制到输出文件夹并重新部署已更改的war文件,而无需重新编译其他所有内容.

我尝试调用generate-resources目标,但这似乎没有在src\main\webapp目录中查找,因为它期望我的资源位于src\main\resources文件夹下.我在这里错过了什么?

谢谢

Rya*_*oss 5

如果要在generate-resources插件期间添加要复制的更多资源,可以更改构建使用的资源文件夹.该project.build.resources属性控制搜索哪些文件夹的资源.你可以添加:

<project>
  ...
  <build>
    ...
    <resources>
      <resource>
        <directory>src/main/resources</directory>
      </resource>
      <resource>
        <directory>src/main/webApp</directory>
        <includes>
          <include>*.css</include>
          <include>*.js</include>
Run Code Online (Sandbox Code Playgroud)

然后,您将运行mvn resources以复制文件.

这种方法是在任何构建的资源阶段始终复制这些文件.你可以通过使用copy-resources目标而不是资源来解决这个问题.在这种情况下,您将使用以下配置:

<build>
    <plugins>
      <plugin>
        <artifactId>maven-resources-plugin</artifactId>
        <version>2.5</version>
        <executions>
          <execution>
            <id>copy-web-resources</id>
            <!-- here the phase you need -->
            <goals>
              <goal>copy-resources</goal>
            </goals>
            <configuration>
              <outputDirectory>${project.build.directory}/webApp</outputDirectory>
              <resources> 
                <resource>
                 <directory>src/main/webApp</directory>
                 <includes>
                   <include>*.css</include>
                   <include>*.js</include>
Run Code Online (Sandbox Code Playgroud)

然后,您可以运行mvn resources:copy-resources以复制文件.