maven 建立 vaadin-archetype-applicaton 7.1.0 無法執行

我在 Eclipse + Tomcat 7 開發環境
採用 maven project 建立 vaadin-archetype-applicaton 7.1.0 後專案的 pom.xml 就出現兩個錯誤訊息

Plugin execution not covered by lifecycle configuration: com.vaadin:vaadin-maven-plugin:7.1.0:compile-theme (execution: default, phase: generate-resources)

Plugin execution not covered by lifecycle configuration: com.vaadin:vaadin-maven-plugin:7.1.0:update-theme (execution: default, phase: generate-sources)

關於 Plugin execution not covered by lifecycle configuration 這個錯誤

我將 pom.xml 內的 lifecycle-mapping 的 Goals 設定由

[code]

resources
update-widgetset
compile

[/code]改成

[code]

resources

update-theme

update-widgetset

compile-theme

compile

[/code]然後跑個 Maven > Update Project
就沒有紅色圖示了
但是執行專案後在 Eclipse Console 內出現錯誤內容如下,然後網頁上也跳出相同的錯誤警告

七月 01, 2013 4:55:47 下午 com.vaadin.server.VaadinServlet serveStaticResourcesInVAADIN
資訊: Requested resource 
[/VAADIN/widgetsets/com.demo.wap.myVaadin5.AppWidgetSet/com.demo.wap.myVaadin5.AppWidgetSet.nocache.js] not found from filesystem or through class loader. Add widgetset and/or theme JAR to your classpath or add files to WebContent/VAADIN folder.

我猜你应该是用的m2e plugin. 那两个错误信息应该是m2e报的,应该不用管它们,我试了下mvn package,是没有问题的。

您說的沒錯,我是在 Eclipse 下作業,目前就如我的回覆去調整 pom.xml 的設定後應該就算是排除了
也可以在 Eclipse 跑 mvn package 有打包出 war

但是問題現在變成是執行專案在 Tomcat 7 環境跑後,出現找不到 AppWidgetSet.nocache.js 這個資源
所以網頁無法正常運作

我照你说的试了下,没发现有问题,也是在eclipse下操作+maven plugin.

  1. Run as → mvn clean
  2. Run as → mvn install
  3. Run as → Run on Server
    “找不到 AppWidgetSet.nocache.js” 应该是没有compile widgetset, 看下eclipse console里有没有如下的信息
[INFO]
    Compiling 6 permutations
[INFO]
       Compiling permutation 0...
[INFO]
       Process output
[INFO]
          Compiling
[INFO]
             Compiling permutation 1...
[INFO]
       Process output
[INFO]
          Compiling
[INFO]
             Compiling permutation 3...
[INFO]
       Process output
[INFO]
          Compiling
[INFO]
             Compiling permutation 2...
[INFO]
       Compiling permutation 4...
[INFO]
          Compiling
[INFO]
             Compiling permutation 5...
[INFO]
    Compile of permutations succeeded

請問您用 vaadin-archtype-application 7.1.0 建立專案後
在專案的 src/main/webapp/VAADIN/ 目錄下有幾個子目錄呢?
我這邊新建後只有看到 src/main/webapp/VAADIN/themes 一個目錄

會這樣問是因為有一個專案新建後問題一樣
但是胡亂增減 dependency 後
我不知道怎麼亂搞的弄出有下列三個目錄

src/main/webapp/VAADIN/gwt-unitCache
src/main/webapp/VAADIN/themes
src/main/webapp/VAADIN/widgetsets

然後這個專案可以正常出現網頁

確認是我的操作不完整,專案建立後就直接執行

  1. Run as → Run on Server

所以 VAADIN 目錄下的必要目錄都沒有出來
因為需要跑過 Run as → mvn install 才會出現

看來我對 maven 的概念不夠完善需要再加強
也感謝您的指點