2012-05-30 41 views
2

我使用Maven構建HTML Web應用程序。我有一個調試配置文件和另一個配置文件發佈。在調試配置文件中,我希望在HTML頁面中使用未壓縮的Javascript,但在發佈配置文件中,我將所有的Javascript文件連接起來,然後使用Google Googles Closure編譯器對它們進行壓縮。在Maven構建過程中構建HTML頁面

所以基本上我有2個Javascript文件列表,我需要根據選擇哪個配置文件將其作爲<script>標籤寫入HTML頁面。

是否有Maven插件,我可以根據需要爲不同的配置文件配置不同的配置文件以生成HTML文件?

回答

2

經過多次調查,我確定最好的選擇是編寫我自己的maven插件。我有一個包含在其中插入CSS和JS代碼到HTML指令一個簡單的html的模板:

<!doctype html> 
<html lang="en"> 
<head> 
    <meta charset="utf-8"> 
    <title>Fifa Social - Hello World</title> 
    <meta name="description" content="Hello World app for Fifa Social"> 

    <meta name="viewport" content="width=device-width"> 

    $cssIncludes$ 
    $jsIncludes$ 

</head> 
<body> 
    <p>Page content</p> 
</body> 
</html> 

然後我有一個在Maven生命週期的「生成來源」階段運行的Maven插件項目採用模板並用<script><link>標籤的相應列表替換$cssIncludes$$jsIncludes$。 (注意:我使用antlr stringtemplate Java庫作爲我的插件的依賴項)。

我不能發佈實際的插件,因爲它是一個專有的項目,但它是從AbstractMojo延伸的單個Java類

  • @parameter特性來讀取POM
    • <configuratioon> HTML模板的位置
    • 輸出文件
    • 的JS文件
    • CS的名單列表的位置小號中執行它
      • 從一個文件,並存儲讀取HTML模板文件
    • 是作爲一個字符串
    • 創建使用默認org.antlr.stringtemplate.language.DefaultTemplateLexer HTML模板
    • org.antlr.stringtemplate.StringTemplate
    • 遍歷從配置中創建<script><link>標籤作爲字符串
    • 使用template.setAttribute JS和CS文件到內置字符串綁定$ cssIncludes $和$ jsIncludes $
    • 模板寫入文件系統

它工作得很好。我只是根據當前的Maven配置文件發送一個不同的JS和CSS文件列表到插件。

0

基於可通過Google i found a Maven Plugin進行的簡短搜索,可用於進行壓縮。所以基於此,正如您已經提到的那樣,擁有不同配置文件是沒有問題的,可以壓縮或不壓縮,也可以不壓縮文件。

+0

這不是壓縮,這是問題 - 它是創建在HTML文件的正確''

  • 11. 構建過程失敗,使用maven包
  • 12. 在構建過程中
  • 13. 在eclipse中構建過程
  • 14. 如何構建HTML頁面的佈局?
  • 15. 在java中構建maven程序集8
  • 16. 在GitHub頁面構建過程中縮小JavaScript?
  • 17. 從Eclipse構建觸發器Maven構建
  • 18. 創建密封Maven構建
  • 19. Scala構建過程
  • 20. Eclipse構建過程
  • 21. 構建堆過程
  • 22. C++構建過程
  • 23. yeoman構建過程
  • 24. Xamarin構建過程
  • 25. .NET構建過程
  • 26. D構建過程
  • 27. 在drupal中構建某些頁面
  • 28. maven構建錯誤
  • 29. Maven構建錯誤?
  • 30. 用TestNG構建Maven