2017-07-10 1 views
1

Je dois construire et servir une application angular2 avec le serveur maven et Glassfish. J'ai un backend Java EE.Comment exécuter une application Angular2 avec java EE backend maven build et glassfish server?

App structure looks like this

enter image description here

Et pom.xml ressemble à ceci:

http://maven.apache.org/xsd/maven-4.0.0.xsd "> 4.0. 0 ro.nttdata candidats 0.0.1-SNAPSHOT guerre candidat src maven-plugin-compilateur 3.6.1 1,8 1,8 maven-guerre-plugin 3.0.0 WebContent

 <plugin> 
    <artifactId>maven-clean-plugin</artifactId> 
    <version>2.5</version> 
    <configuration> 
     <filesets> 
     <fileset> 
      <directory>candidate-client/dist/</directory> 
      <includes> 
      <include>*</include> 
      </includes> 
     </fileset> 
     </filesets> 
    </configuration> 
    </plugin> 


     <plugin> 
      <groupId>com.github.eirslett</groupId> 
      <artifactId>frontend-maven-plugin</artifactId> 
      <version>1.3</version> 

      <configuration> 
       <nodeVersion>v6.10.1</nodeVersion> 
       <npmVersion>4.4.1</npmVersion> 
       <workingDirectory>candidate-client/</workingDirectory> 
      </configuration> 

      <executions> 
       <execution> 
        <id>install node and npm</id> 
        <goals> 
         <goal>install-node-and-npm</goal> 
        </goals> 
       </execution> 

       <execution> 
        <id>npm install</id> 
        <goals> 
         <goal>npm</goal> 
        </goals> 
       </execution> 

       <execution> 
        <id>npm run build</id> 
        <goals> 
         <goal>npm</goal> 
        </goals> 

        <configuration> 
         <arguments>run build</arguments> 
        </configuration> 
       </execution> 
      </executions> 
     </plugin> 

     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-resources-plugin</artifactId> 
      <version>2.6</version> 
      <executions> 
       <execution> 
        <id>copy-client-build</id> 
        <phase>prepare-package</phase> 
        <goals> 
         <goal>copy-resources</goal> 
        </goals> 
        <configuration> 
         <outputDirectory>target/${project.artifactId}/</outputDirectory> 
         <overwrite>true</overwrite> 
         <resources> 
          <resource> 
           <directory>candidate-client/dist/</directory> 
           <includes> 
            <include>*/**</include> 
            <include>*.html</include> 
           </includes> 
          </resource> 
         </resources> 
        </configuration> 
       </execution> 
      </executions> 
      </plugin> 



    </plugins> 

</build> 
<dependencies> 

    <dependency> 
     <groupId>javax</groupId> 
     <artifactId>javaee-api</artifactId> 
     <version>7.0</version> 
    </dependency> 
    <dependency> 

     <groupId>org.glassfish.jersey.core</groupId> 

     <artifactId>jersey-server</artifactId> 

     <version>2.10.4</version> 


    </dependency> 
    <dependency> 
     <groupId>org.eclipse.persistence</groupId> 
     <artifactId>eclipselink</artifactId> 
     <version>2.6.4</version> 
    </dependency> 
    <dependency> 

     <groupId>org.glassfish.jersey.media</groupId> 

     <artifactId>jersey-media-json-jackson</artifactId> 

     <version>2.25.1</version> 


    </dependency> 
</dependencies> 

J'ai réussi à construire la application qui génère le dossier dist et de déplacer le fi les cibles, mais quand je le lance sur le serveur, je reçois 404. Je suis nouveau avec maven ... Je suis reconnaissant pour chaque suggestion.

Répondre

0

Les configurations pom ont l'air bien.

Dans votre fichier index.html vous devez ajouter le chemin de base comme

<base href="/appname">