我有一个现有的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
非常感谢任何帮助。最诚挚的问候
答案 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应用/ 没有任何定制。