2016-09-22 55 views
0

我有一个mvn项目,包含两个模块,ui和服务器,两者都构建为罐子。我将Angular2用作ui模块,并将此依赖关系添加到服务器弹簧引导模块。两个模块都可以正确构建,但ui不包含在服务器模块中,当服务器正确启动时,它不会在请求时提供index.html页面。Spring Boot Angular2,使用mvn无法加载index.html

我有标准mvn资源结构下的ui Angular2 src,例如src/main/resources。

我找到了2个例子1)SpringAngular2TypeScript我无法上班,2)一个gradle项目。

任何建议将是伟大的或一个简单的工作示例会更好。

回答

0

首先,你的UI模块不应该被构建到JAR中。它应该被构建到WAR中。 Jars将不包含任何网页内容。因此,你的index.html不会被提供,因为它首先不在jar中。 也就是说,将ui模块包含在服务器模块中,您可以将服务器模块作为jar包依赖项包含在ui模块中(因为战争可以包含jar),并将此WAR部署到您的服务器上。

另外,你不应该把所有的角码放在src/main/resources中。它应该放在src/main/webapp文件夹中。请参阅Standard Maven Folder Structure

+0

谢谢。那么现在有一个springboot模块并将angular2代码从它自己的模块移动到src/main/webapp下的springboot模块会更简单吗? – user103122

+0

是的,你也可以这样做。您最终只会生成一个工件,即WAR(这将在src/main/java中包含您的spring引导代码,并在src/main/webapp中包含角码)。查看这个[链接](https://github.com/KartikShankarappa/RRS-Spring-and-Hibernate-/tree/master/RestaurantReservationSystem/RRSRestApp)示例应用程序。相反,如果你仍然想生成2个工件,那么就像我之前在我的回答中已经提到的那样,应该将服务器模块(jar)作为依赖项包含在角度UI模块(war)中并将战争部署到服务器。 –

+0

如果能帮助你,你可以提高我的答案。 –

相关问题