2017-04-19 6 views
-1

Web-Ressourcen sind und nicht auf die Ziel/Klassen-Ordner kopiert und daher nicht in Ziel/$ {finalName}/WEB-INF/classes Ordner.Webapp Ressourcen in Ziel

zur Zeit der Ausgabe von mvn clean install:

target/classes/(src/main/java)

aber ich versuche auch zu bekommen:

target/classes/(src/main/webapp)

pom:

<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>StrategicTestArchitecture</groupId> 
    <artifactId>STATestAPI</artifactId> 
    <version>0.0.1-SNAPSHOT</version> 
    <packaging>war</packaging> 
    <build> 
    <plugins> 
     <plugin> 
     <artifactId>maven-compiler-plugin</artifactId> 
     <version>3.5.1</version> 
     <configuration> 
      <source>1.8</source> 
      <target>1.8</target> 
     </configuration> 
     </plugin> 
     <plugin> 
     <artifactId>maven-war-plugin</artifactId> 
     <version>3.0.0</version> 
    <!--  <configuration> 
      <warSourceDirectory>src/main/webapp</warSourceDirectory> 
      <warSourceDirectory>WebContent</warSourceDirectory> 
      <webResouces> 
      <resource> 
       <directory>src/main/webapp</directory> 
       <targetPath>WEB-INF/classes</targetPath> 
      </resource> 
      <resource> 
       <directory>${baseDir}/src/main/webapp</directory> 
       <targetPath>target/${finalName}/WEB-INF</targetPath> 
      </resource> 
      </webResouces> 
     </configuration> --> 
     </plugin> 
    </plugins> 
    <resources> 
      <resource> 
       <directory>src/main/resources</directory> 
       <filtering>true</filtering> 
       <includes> 
        <include>Spring.properties</include> 
       </includes> 
      </resource> 
    </resources> 
    </build> 
    <profiles> 
     <profile> 
      <id>staging</id> 
      <activation> 
       <property> 
        <name>environment</name> 
        <value>staging</value> 
       </property> 
      </activation> 
      <properties> 
       <hibernate.dialect>org.hibernate.dialect.Oracle10gDialect</hibernate.dialect> 
       <hibernate.show_sql>true</hibernate.show_sql> 
       <hibernate.url>myoracleurl</hibernate.url> 
       <DriverClassName>oracle.jdbc.driver.OracleDriver</DriverClassName> 
      </properties> 
     </profile> 
     <profile> 
      <id>alpha</id> 
      <activation> 
       <activeByDefault>true</activeByDefault> 
      </activation> 
      <properties> 
       <hibernate.dialect>org.hibernate.dialect.Oracle10gDialect</hibernate.dialect> 
       <hibernate.show_sql>true</hibernate.show_sql> 
       <hibernate.url>myoracleurl</hibernate.url> 
       <DriverClassName>oracle.jdbc.driver.OracleDriver</DriverClassName> 
      </properties> 
     </profile> 
    </profiles> 
    <properties> 
     <!-- Generic properties --> 
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
     <java.version>1.8</java.version> 

     <!-- SPRING & HIBERNATE/JPA --> 
     <spring.version>4.3.5.RELEASE</spring.version> 
     <hibernate.version>5.2.5.Final</hibernate.version> 

    </properties> 
    <dependencies> 
    <dependency> 
     <groupId>StrategicTestArchitecture</groupId> 
     <artifactId>Commons</artifactId> 
     <version>0.0.1-SNAPSHOT</version> 
    </dependency> 
    </dependencies> 
</project> 

Kann jemand Schuppen ein wenig Licht Warum werden diese Dateien nicht in das Ausgabeverzeichnis kopiert?

+3

Sie dies nicht tun brauche irgendeine dieser Konfiguration. 'mvn clean install' wird eine korrekt strukturierte WAR-Datei aus' src/main/java', 'src/main/resources' und' src/main/webapp' standardmäßig erstellen. –

+0

die Konfiguration zu entfernen machte keine Änderungen an den Ausgang :( alles unter src/main/webapp ist in der Wurzel des Krieges und Ziel/$ finalName aber nicht in Ziel/Klassen, wo wir sie brauchen: Sie/ – Alex

+0

Warum Wollen Sie Ihre Webapp-Ressourcen in 'target/classes'? –

Antwort

0

Wie bereits erwähnt von Steve C, die Web-Ressourcen brauchen nicht auf dem Classpath zu sein und daher kann die Web-Konfiguration leer gelassen werden. Dadurch wird alles aus dem Verzeichnis src/main/webapp in das Stammverzeichnis der WAR-Datei kopiert.

In meinem Fall haben wir einen Ordner mit dem Namen an src/main/webapp/resources befindet Ressourcen, die unsere html enthält/css/js

Als Referenz im Frühjahr die registryhandler Config als solche geändert werden:

public void addResourceHandlers(ResourceHandlerRegistry registry){ 
    registry.addResourceHandler("/resources/**").addResourceLocations("resources/"); 
}