2017-06-27 2 views
0
nicht

Hier mein pom.xml:Maven Ressource Filterung arbeiten

<?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/maven-v4_0_0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 

    <parent> 
     <artifactId>modules</artifactId> 
     <groupId>com.agipi</groupId> 
     <version>${global.version}</version> 
     <relativePath>../pom.xml</relativePath> 
    </parent> 


    <artifactId>com.agipi.layouts</artifactId> 
    <packaging>war</packaging> 



    <properties> 
     <project.test>1.2.3</project.test> 
     </properties> 

    <build> 

     <resources> 
      <resource> 
       <directory>src/main/webapp/WEB-INF</directory> 
       <filtering>true</filtering> 
      </resource> 
     </resources> 

     <finalName>${project.artifactId}</finalName> 
     <plugins> 
      <plugin> 
       <groupId>com.liferay.maven.plugins</groupId> 
       <artifactId>liferay-maven-plugin</artifactId> 
       <version>7.0.0-m2</version> 
       <configuration> 
        <pluginType>layouttpl</pluginType> 
       </configuration> 
      </plugin> 
      <plugin> 
       <artifactId>maven-resources-plugin</artifactId> 
       <version>2.5</version> 
       <configuration> 
        <encoding>UTF-8</encoding> 
       </configuration> 
      </plugin> 
     </plugins> 
    </build> 
    <dependencies> 
     <dependency> 
      <groupId>javax.portlet</groupId> 
      <artifactId>portlet-api</artifactId> 
      <version>2.0</version> 
      <scope>provided</scope> 
     </dependency> 
     <dependency> 
      <groupId>javax.servlet</groupId> 
      <artifactId>servlet-api</artifactId> 
      <version>2.4</version> 
      <scope>provided</scope> 
     </dependency> 
     <dependency> 
      <groupId>javax.servlet.jsp</groupId> 
      <artifactId>jsp-api</artifactId> 
      <version>2.0</version> 
      <scope>provided</scope> 
     </dependency> 
    </dependencies> 
</project> 

Und einer meiner Datei "liferay-plugin-package.properties" in src/main/webapp/WEB-INF:

Bundle-Version=${project.test} 

Wenn ich eine mvn clean installiere, wird der Wert nicht ersetzt. Irgendeine Idee?

Edit: Eigentlich in target/ich habe eine .war in dem Wert nicht ersetzt wird, und ich habe auch einige Ordner.

Einer von ihnen ist der Ordner "Klasse", in dem ich die Datei "liveray-plugin-package.properties", in der Wert ersetzt wurde.

Ich brauche Wert in der ich denke, Filterung funktioniert richtig

+0

Welche Art von Datei möchten Sie filer? Bitte zeige die ganze Pom-Datei und die Struktur deines Projektes ... – khmarbaise

+0

Ich habe meinen Beitrag bearbeitet – Lempkin

+0

In diesem Fall empfehle ich etwas wie maven-bundle-plugin aus dem Apache Felix Projekt oder bndTools .... mach das einfacher, als dies mit Filtern usw. zu bewältigen. Außerdem verstehe ich nicht, warum ein Krieg eine MANIFEST.MF mit einer Bundle-Version benötigt? Nur für Pakete, die als Abhängigkeiten verwendet werden, wird dies benötigt ... – khmarbaise

Antwort

0

.war ersetzt werden, aber später Plugin läuft überschreibt die gefilterten Dateien. Versuchen Sie, mvn clean compile anstelle des Pakets auszuführen, um zu überprüfen, ob dies der Fall ist.

+0

Wenn ich eine mvn clean kompilieren habe ich nur die Klassen-Ordner in dem Wert ersetzt wird. Aber ich habe immer noch keine Idee, den Wert in der .war zu ersetzen:/ – Lempkin

+0

Ich habe versucht, jedes andere Plugin zu entfernen, aber immer noch das gleiche, Wert wird nicht ersetzt – Lempkin

+0

Ein bisschen verwirrend; Der Ort, den Sie in Ihrer Frage zeigen 'src/main/webapp/WEB-INF', das unterscheidet sich von dem Ordner' classes', den Sie erwähnen. Wenn Sie versuchen 'mvn prepare-package' zu ​​starten, können Sie sich den' target'-Ordner ansehen und sehen, ob Diese Werte werden gefiltert oder nicht (vor dem Kriegs-Plugin). – Andrei