简体   繁体   English

如何使用Java EE后端Maven构建和Glassfish服务器运行Angular2应用程序?

[英]How do I run Angular2 app with java EE backend maven build and glassfish server?

I have to build and serve an angular2 app with maven and Glassfish server. 我必须使用Maven和Glassfish服务器来构建和服务angular2应用程序。 I have a java EE backend. 我有一个Java EE后端。

App structure looks like this 应用程序结构如下所示

在此处输入图片说明

And pom.xml looks like this: pom.xml看起来像这样:

http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 ro.nttdata candidate 0.0.1-SNAPSHOT war candidate src maven-compiler-plugin 3.6.1 1.8 1.8 maven-war-plugin 3.0.0 WebContent http://maven.apache.org/xsd/maven-4.0.0.xsd“> 4.0.0 ro.nttdata候选0.0.1-SNAPSHOT战争候选src maven-compiler-plugin 3.6.1 1.8 1.8 maven-war-插件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>

I managed to build the app that generates the dist folder and to move the files to target, but when I run it on server I get 404. I am new with maven...I'm thankful for every suggestion. 我设法构建了一个生成dist文件夹并将文件移动到目标的应用程序,但是当我在服务器上运行它时,我得到了404。我是maven的新手……我很感谢每个建议。

pom configurations look fine. pom配置看起来不错。

In your index.html file you need to add base path like 在index.html文件中,您需要添加基本路径,例如

<base href="/appname">

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM