2011-11-22 50 views
7

我正在使用Maven 3進行一些Web開發。我知道如何使用maven來解決基於java的jar文件。我如何使用maven解決JavaScript依賴關係,例如我想讓maven自動將jquery放入我的webapp/js文件夾中?如何使用Maven將JQuery安裝到我的Web應用程序中?

是否有可能使用Maven 3做翻譯JavaScript依賴關係?

回答

5

你可以創建自己的「戰爭」,它在你指定的路徑中有jquery。

之後,將戰爭添加到您的真實Web應用程序中。 Maven應該合併它。我認爲它被稱爲「處理覆蓋」。

我使用相同的一些GWT應用程序,其中的JavaScript由一個maven插件生成,它運作良好。

+0

如何使用maven將戰爭添加到我的項目中?我可以製作傳遞式JavaScript依賴關係嗎? – ams

+0

將其添加爲類型war的依賴項。在將其添加到其他項目之前,您需要一個帶有jQuery的Web項目並將其安裝到您的存儲庫。 –

+0

覆蓋文檔http://maven.apache.org/plugins/maven-war-plugin/examples/war-overlay.html – ams

0

也許你應該使用CDN之一來包含外部JavaScript庫到您的webapps? 例如對於jQuery,您可以簡單地將其包含在任意網址中:http://docs.jquery.com/Downloading_jQuery#CDN_Hosted_jQuery

來自CDN的庫也會減少您的服務器帶寬使用量。

+0

從CDN託管不適合此應用程序,應用程序必須自包含它所需的所有內容 – ams

0

您可以在您的回購中使用您的jquery版本在裏面創建一個新的zip工件。

然後使用maven war插件將其部署到您的戰爭。

採取在<targetPath><includes>的密切關注,以確保部署你需要什麼,你需要它:)

<plugin> 
    <artifactId>maven-war-plugin</artifactId> 
    <version>2.3</version> 
    <configuration> 
     <overlays> 
      <overlay> 
      <groupId>yourgroupid</groupId> 
      <artifactId>yourJqueryArtifactId</artifactId> 
      <type>zip</type> 
      <targetPath/> 
      <includes> 
       <include>js/jquery.js</include> 
      </includes> 
      </overlay> 
     </overlays> 
    </configuration> 
</plugin> 

以前的配置假定您已經稱爲目錄與你的拉鍊「JS」 jquery.js裏面。它會在你的JS戰解壓縮/ jquery.js和

更多信息here

2

也許WebJars可以幫助你:

WebJars的客戶端網絡庫(如jQuery的&引導)包裝到JAR(Java Archive)文件中。

  • 明確和易於管理的基於JVM的Web應用程序
  • 客戶端依賴
  • 基於JVM的應用構建工具(如Maven的,搖籃,& SBT)下載客戶端依賴
  • 專有該客戶端依賴你使用
  • 傳遞依賴奇蹟般地出現

警告:WebJars做不要把jQuery文件放在webapp/js文件夾中。請閱讀documentation以瞭解它如何與一些流行的框架一起使用。

1

嘗試添加到您的pom.xml文件。它的工作對我來說:

<dependency> 
    <groupId>com.efsavage.jquery</groupId> 
    <artifactId>jquery-maven</artifactId> 
    <version>1.7.2</version> 
</dependency> 

這個庫給你一個辦法jQuery的拖放到你的項目作爲Maven的依賴,這意味着你不必在你自己的源代碼控制這些第三方文件。

來源:here

+0

您好,如何在添加依賴項後在JSP中使用它? – Ph0b0x

相關問題