springboot - 集成angular2 应用打包部署

1. Spring Boot 内置web 

   spring Boot 其默认是集成web容器的,启动方式由像普通Java程序一样,main函数入口启动。其内置Tomcat容器或Jetty容器,具体由配置来决定(默认Tomcat)。当然你也可以将项目打包成war包,放到独立的web容器中(Tomcat、weblogic等等),本文先以打成 jar 为例

对server的几个常用的配置做个简单说明:

 

# 项目contextPath,一般在正式发布版本中,我们不配置  
server.context-path=/myspringboot  
# 错误页,指定发生错误时,跳转的URL。请查看BasicErrorController源码便知  
server.error.path=/error  
# 服务端口  
server.port=8080  
# session最大超时时间(分钟),默认为30  
server.session-timeout=60  
# 该服务绑定IP地址,启动服务器时如本机不是该IP地址则抛出异常启动失败,只有特殊需求的情况下才配置  
# server.address=192.168.16.11  

2、打包 Angular2 静态资源

修改 index.html 文件 

     

href 命名与即将打成的包名一致,然后 输入命令

ng build -prod

如果出现如下的error

ERROR in ./src/main.ts
Module not found: Error: Can't resolve './$$_gendir/app/app.module.ngfactory' in 'C:\Javadev\Project\Front\shawn_dev\taxminder_new_ui\src\main\webapp\angular_workspace\src'
 @ ./src/main.ts 3:0-74
 @ multi ./src/main.ts

是因为在打包过程中 angular2 默认开启了aot 优化方案, 只需将其关闭即可,使用如下命令,即可打包成功

ng build -prod -aot=false

生成的dist文件夹 为你的项目名。然后 重命名修改 

3、Springboot 集成 Angular2 静态资源

springboot 使用内嵌容器来提供服务,但是当我使用maven 打可执行jar时,其无法将静态文件(html/jsp)一并打入可执行文件

 

 

解决:将静态资源 放在默认的配置 src/main/resources/META-INF/resources 下

springboot - 集成angular2 应用打包部署_第1张图片

 

4、Maven构建Spring Boot框架的可执行Jar包

在spring boot里,很吸引人的一个特性是可以直接把应用打包成为一个jar/war,然后这个jar/war是可以直接启动的,不需要另外配置一个Web Server。单独的JAR包,然后通过Java -jar .jar命令运行。

 

 

 

1.1 使用Spring Boot Maven插件

SpringBoot包含一个Maven插件,它可以将项目打包成一个可执行jar。如果想使用它,你可以将该插件添加到
点处:

	
    taxminder  
	
		
			org.springframework.boot
			spring-boot-maven-plugin
			
				true
			
		
	

这里要注意:finalName打成包后的包名,其余的是maven的打包需要的文件,这里配置就没问题了。

 

其次是打包。


 

debug as -> maven build,第一次打包的话会弹出上面的框,在框中填入package 就可以了。

 

这样就表示打包可以了。

 

 

 

接下来就是运行了。

//window 服务器下。

java  -jar  (jar包的包名)cyc.jar 或者是双击,隔一会儿就可以运行了。

 

 

 

你可能感兴趣的:(frontend)