2015-09-25 244 views
0

我试图在我的JSP页面上显示maven版本信息。我GOOGLE了这一点,并找到了许多不同的解决方案,有些在博客文章和一些在stackoverflow其中大部分是非常老的历史可以追溯到2009年。我选择了一个在stackoverflow(How can I in a jsp page get maven project version number?),并试图通过放入下面的代码片段在我的pom中,并在我的JSP中调用$ {project.version}但它不起作用。无法在jsp中显示maven项目版本信息

我错过了什么吗?

<plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-war-plugin</artifactId> 
     <version>2.3</version> 
     <configuration> 
      <failOnMissingWebXml>true</failOnMissingWebXml> 
      <webResources> 
       <resource> 
        <directory>src/main/webapp</directory> 
        <filtering>true</filtering> 
       </resource> 
      </webResources> 
     </configuration> 
    </plugin> 

但是,我没有看到显示的版本。不知道我错过了什么。

完整的pom.xml

<?xml version="1.0" encoding="UTF-8"?> 
<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/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 

    <groupId>com.ebayenterprise.ecp</groupId> 
    <artifactId>JobStatusCollectorWebapp</artifactId> 
    <version>1.0-SNAPSHOT</version> 
    <packaging>war</packaging> 

    <name>JobStatusCollectorWebapp</name> 

    <properties> 
     <endorsed.dir>${project.build.directory}/endorsed</endorsed.dir> 
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
     <slf4jVersion>1.7.5</slf4jVersion> 
    </properties> 

    <dependencies> 
     <dependency> 
      <groupId>javax</groupId> 
      <artifactId>javaee-web-api</artifactId> 
      <version>7.0</version> 
      <scope>provided</scope> 
     </dependency> 

     <!-- DB -->   
     <dependency> 
      <groupId>com.oracle</groupId> 
      <artifactId>ojdbc7</artifactId> 
      <version>7.0</version> 
      <scope>runtime</scope> 
     </dependency> 

     <!-- Apache Commons --> 
     <dependency> 
      <groupId>org.apache.commons</groupId> 
      <artifactId>commons-lang3</artifactId> 
      <version>3.4</version> 
     </dependency> 
     <dependency> 
      <groupId>commons-io</groupId> 
      <artifactId>commons-io</artifactId> 
      <version>2.4</version> 
     </dependency> 
     <dependency> 
      <groupId>commons-dbutils</groupId> 
      <artifactId>commons-dbutils</artifactId> 
      <version>1.6</version> 
     </dependency> 

     <!-- UI handling --> 
     <dependency> 
      <groupId>jstl</groupId> 
      <artifactId>jstl</artifactId> 
      <version>1.2</version> 
     </dependency> 


     <!-- log4j logging --> 
     <dependency> 
      <groupId>org.slf4j</groupId> 
      <artifactId>slf4j-api</artifactId> 
      <version>${slf4jVersion}</version> 
     </dependency> 
     <dependency> 
      <!-- any library that uses commons-logging will be directed to slf4j --> 
      <groupId>org.slf4j</groupId> 
      <artifactId>jcl-over-slf4j</artifactId> 
      <version>${slf4jVersion}</version> 
     </dependency> 
     <dependency> 
      <!-- any library that uses slf4j will be directed to java.util.logging --> 
      <groupId>org.slf4j</groupId> 
      <artifactId>slf4j-jdk14</artifactId> 
      <version>${slf4jVersion}</version> 
     </dependency> 
     <dependency> 
      <groupId>log4j</groupId> 
      <artifactId>log4j</artifactId> 
      <version>1.2.17</version> 
     </dependency> 

     <!-- Testing --> 
     <dependency> 
      <groupId>junit</groupId> 
      <artifactId>junit</artifactId> 
      <version>4.10</version> 
      <scope>test</scope> 
     </dependency> 
    </dependencies> 

    <build> 
     <finalName>${project.artifactId}</finalName> 
     <plugins> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <version>3.1</version> 
       <configuration> 
        <source>1.7</source> 
        <target>1.7</target> 
        <compilerArguments> 
         <endorseddirs>${endorsed.dir}</endorseddirs> 
        </compilerArguments> 
       </configuration> 
      </plugin> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-war-plugin</artifactId> 
       <version>2.3</version> 
       <configuration> 
        <failOnMissingWebXml>true</failOnMissingWebXml> 
        <webResources> 
         <resource> 
          <directory>src/main/webapp</directory> 
          <filtering>true</filtering> 
         </resource> 
        </webResources> 
       </configuration> 
      </plugin> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-dependency-plugin</artifactId> 
       <version>2.6</version> 
       <executions> 
        <execution> 
         <phase>validate</phase> 
         <goals> 
          <goal>copy</goal> 
         </goals> 
         <configuration> 
          <outputDirectory>${endorsed.dir}</outputDirectory> 
          <silent>true</silent> 
          <artifactItems> 
           <artifactItem> 
            <groupId>javax</groupId> 
            <artifactId>javaee-endorsed-api</artifactId> 
            <version>7.0</version> 
            <type>jar</type> 
           </artifactItem> 
          </artifactItems> 
         </configuration> 
        </execution> 
       </executions> 
      </plugin> 
     </plugins> 
    </build> 

</project> 

回到Home.jsp

<!-- Header --> 

<!-- Content --> 

<!-- Footer --> 
<br/><div align="right">Version:${project.version}</div><br/> 
+0

你可以发布你的整个pom.xml吗?你确定你将你的应用打包成战争吗? – GregH

+0

整个pom已经贴出来了,是的,我打包成战争 – user2325154

回答