2017-05-30 62 views
2

我沒有找到我正在處理的特定場景的答案。我有一個Maven Web項目,我想在Tomcat服務器上運行(目前工作正常)。我的問題是,我需要使用jQuery和Bootstrap,但它不起作用,官方資源不提供一種方法來使用它沒有任何額外的框架。如何在沒有任何框架的情況下使用帶有Maven的webjar

這是我迄今所做的:

  • 我的pom.xml看起來是這樣的,並擁有所有必要的依賴:

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 
    
         <modelVersion>4.0.0</modelVersion> 
         <groupId>de.ls5.wt2</groupId> 
         <artifactId>micro</artifactId> 
         <packaging>war</packaging> 
         <version>0.0.1-SNAPSHOT</version> 
         <name>micro Maven Webapp</name> 
         <url>http://maven.apache.org</url> 
         <dependencies> 
         <dependency> 
          <groupId>junit</groupId> 
          <artifactId>junit</artifactId> 
          <version>3.8.1</version> 
          <scope>test</scope> 
         </dependency> 
          <dependency> 
           <groupId>org.webjars</groupId> 
           <artifactId>webjars-locator</artifactId> 
           <version>0.1</version> 
          </dependency> 
          <dependency> 
           <groupId>org.webjars</groupId> 
           <artifactId>webjars-locator</artifactId> 
           <version>0.32-1</version> 
          </dependency> 
          <dependency> 
           <groupId>org.webjars</groupId> 
           <artifactId>jquery</artifactId> 
           <version>3.2.0</version> 
          </dependency> 
          <dependency> 
           <groupId>org.webjars</groupId> 
           <artifactId>bootstrap</artifactId> 
           <version>3.3.7</version> 
          </dependency> 
         <dependency> 
          <groupId>org.hibernate.javax.persistence</groupId> 
          <artifactId>hibernate-jpa-2.1-api</artifactId> 
          <version>1.0.0.Final</version> 
         </dependency> 
         <dependency> 
          <groupId>javax</groupId> 
          <artifactId>javaee-api</artifactId> 
          <version>7.0</version> 
         </dependency> 
         <dependency> 
          <groupId>javax</groupId> 
          <artifactId>javaee-web-api</artifactId> 
          <version>7.0</version> 
         </dependency> 
         </dependencies> 
         <build> 
         <finalName>micro</finalName> 
         </build> 
        </project> 
    
  • 目標/ APPNAME/WEB-INF/lib文件夾包含jQuery,Bootstrap和所有其他相關庫的jar文件

  • 當我想現在在index.html或index.jsp中使用它時,它不起作用,控制檯sa是的,資源無法找到。中的index.html看起來像這樣(來自教程爲例):

<html> 
 
    <head> 
 
     <script src="/webjars/jquery/3.1.1/jquery.min.js"></script> 
 
     <script src="/webjars/bootstrap/3.3.7-1/js/bootstrap.min.js"></script> 
 
     <title>WebJars Demo</title> 
 
     <link rel="stylesheet" 
 
      href="/webjars/bootstrap/3.3.7-1/css/bootstrap.min.css" /> 
 
    </head> 
 
    <body> 
 
     <div class="container"><br/> 
 
      <div class="alert alert-success"> 
 
       <a href="#" class="close" data-dismiss="alert" 
 
        aria-label="close">×</a> 
 
       <strong>Success!</strong> It is working as we expected. 
 
      </div> 
 
     </div> 
 
    </body> 
 
</html>

  • index.html是我target/appName/文件夾內,我知道"target/appName/webjars/jquery/3.1.1/jquery.min.js"下的引用文件,其被引用從index.html不存在,但我需要知道什麼?我以爲maven會這麼做。

回答

1

首先,你有重複的webjars-locator依賴 - 修復。現在


,對您的問題: 通過刪除前面的 「/」 修復您的JS和CSS進口: 更改<script src="/webjars/.../><script src="webjars/.../>

檢查full example,如果你想

希望這會工作。

相關問題