关于vue和springboot的打包与部署

      目前前端如果使用vue的话,大多就是基于vue-cli的,这里我以vue-cli3为主,其实和2差不多,4我还没用过。

      vue-cli3打包直接在package.json目录下输入npm run build,生成的dist文件夹就是输出目录,里面有index.html和css、js。然后你可以直接拿到服务器上使用nignx代理,当然需要再做一些配置。

      或者,也可以放到springboot项目的static文件夹下,随springboot一起打包,再部署到tomcat上,或者直接打成jar,直接运行。

      首先在springboot项目的resources文件夹下建一个static文件夹,之后直接把vuecli打包好的dist文件夹复制到static文件夹下,这时首先要打开index.html,修改css和js的引用路径,前面要加上你springboot项目的访问路径(context-path),以及这个dist(文件夹名):

<link href=/vue/dist/css/app.362b5d12.css rel=preload as=style>
<link href=/vue/dist/js/app.be46b0b3.js rel=preload as=script>
<link href=/vue/dist/js/chunk-vendors.47e0618d.js rel=preload as=script>
<link href=/vue/dist/css/app.362b5d12.css rel=stylesheet>

      这样就可以直接ip:端口/context-path/dist/index.html直接访问前端写好的页面了。之后直接打包springboot项目就可以了。

      (!注意:使用IDEA工具,在把dist文件复制过去后,需要重启IDEA工具,否则即使修改了index页面的css和js路径,也有可能获取不到)

      那么说springboot的打包与部署,打成war包其实一般出问题比较少,打成war包后放到服务器上的tomcat上重启tomcat就行了。

      但是打成jar包运行时就会出很多的问题。

      先说构建maven项目时,自带的maven-plugin打包插件,在lifecycle点击package打包后的文件只有几百kb,直接运行就会报“xxx.jar中没有主清单属性”,看网上有说先clean、再compile、再package、再install,但还是不行,最后放弃maven自带的打包插件。

      之后看手动打包,还挺麻烦的,中间要改META-INF的位置,打包出来就比较大了。20多mb,我想这才对,但是运行之后还是报错,提示“No auto configuration classes found in META-INF/spring.factories”,又被折腾了好长时间,最后回顾原先看的springboot视频,得到了一个最简单的办法,没有之一!

<build>
  <plugins>
    <plugin>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-maven-plugin</artifactId>
    </plugin>
  </plugins>
</build>

      直接修改pom文件里的,这些就足够了,之后直接双击lifecycle里的package,打包就ok了,这个自动打包应该是专门针对springboot项目的,java -jar 运行无误。

猜你喜欢

转载自blog.csdn.net/weixin_42822484/article/details/106537842