Maven,Vaadin和资源文件夹

时间:2012-04-13 12:45:52

标签: java css gwt maven vaadin

我有一个现有的maven项目,我开始使用vaadin,通过在POM文件中添加依赖项。但是,当我将VAADIN / themes文件夹放在src / main / resources下时,使用maven构建时,它会被复制到.war文件中的WEB-INF / classes文件夹,而不是像它应该的那样放在war根目录中成为。我已经尝试了所有明显的组合,比如src / main / webapp / VAADIN或src / main / VAADIN甚至src / main / webapp / WEB-INF / VAADIN但是它们似乎都不是放置主题和其他vaadin的正确位置资源。

我还试图像https://vaadin.com/wiki/-/wiki/Main/Using%20Vaadin%20with%20Maven中描述的那样生成一个vaadin项目,但没有成功。 maven的行为方式相同。

有没有人知道如何在maven项目上正确设置Vaadin主题?我正在使用osx 10.6和maven 3

非常感谢任何帮助。最诚挚的问候

2 个答案:

答案 0 :(得分:3)

我不确定Vaadin,但您可以使用Maven Resources plugin将资源复制到特定位置(您喜欢的任何地方,而不仅仅是目标文件夹)。因此,如果您想将名为VAADIN的文件夹从项目的根目录复制到战争的根目录,您可以将其设置为:

<plugin>
  <artifactId>maven-resources-plugin</artifactId>
  <version>2.5</version>
  <executions>
    <execution>
      <id>copy-resources</id>
      <phase>validate</phase>
      <goals>
        <goal>copy-resources</goal>
      </goals>
      <configuration>
        <outputDirectory>${basedir}/target/war</outputDirectory>
        <resources>
          <resource>
            <directory>VAADIN</directory>
            <filtering>false</filtering>
          </resource>
        </resources>
      </configuration>
    </execution>
  </executions>
</plugin>

通常,src/main/resources文件夹用于应该在类路径上的资源,而src/main/webapp用于应该在您的webapp的WEB-INF文件夹中的资源。我建议将其他资源放在别处(也许是src/main/vaadin?)。如果你真的想把它放在src/main/resources并且你使用我刚刚概述的方法,你还需要排除它Maven复制其他东西 - 更容易避免它。

答案 1 :(得分:2)

你应该把你所投入的一切都放在战争的根源上 的src /主/ web应用/ 没有任何定制。