好的,所以我一直在阅读其他几个堆栈问题并尝试将它们拼凑在一起而没有太多运气.基本上我的方法是我目前有一个项目有多个子项目.我基本上有以下几点:
root
|----backend
|----|----src
|----|----|----main
|----|----|----|----java (individual java files not shown)
|----|----|----|----resources
|----|----|----|----|----meta-inf
|----|----|----|----|----|----applicationContext.xml
|----|----|----|----webapp
|----|----|----|----|----WEB-INF
|----|----|----|----|----|----web_servicesConfig.xml
|----|----|----|----|----|----web.xml
|----|----pom.xml
|----deploy
|----|----src
|----|----|----main
|----|----|----|----resources (properties files for tomcat)
|----|----pom.xml
|----frontend
|----|----app
|----|----|----angular files
|----|----bower_components
|----|----|----bower files
|----|----bower.json
|----|----Gruntfile.js
|----|----pom.xml

好的希望在文件结构上足够清楚.我打算使用maven-grunt-plugin,所以我可以在前端运行我的grunt命令.前端基本上与角度产生的设置相同或者至少是目标.部署只是设置tomcat,后端保存Spring 4 restful services / api.

好的,这就是我很困惑并寻求帮助.我不知道如何让前端与后端正常工作.基本上我想知道是否有办法告诉maven以开发模式启动Tomcat和Grunt服务器,以便我可以使用它们的两个功能来快速开发我的项目,然后将min文件拉入生产构建的战争中.我想我无法弄清楚如何让一切都很好地融合在一起.我查了一下这个问题,但是我仍然感到困惑:

How to deploy AngularJS app and Spring Restful API service on the same domain/server?

我希望任何链接到教程,以解决如何使用Maven与tomcat,spring,angularjs和grunt …还凉亭所以我可以使用它为我的前端包管理.我已经阅读了几个例子,并且已经看到很多关于如何在Java EE和jsp中使用spring的讨论.或者使用Gradle来做我想要的一些事情……但是我没有尝试过.

当然,如果这是一个糟糕的方法让我知道.基本上我想让我的子项目尽可能分开,同时仍允许开发人员从一个pom文件导入/运行.

解决方法

从你的问题我只挖了两个问题

>如何使用grunt / bower tomcat进行持续开发
>如何部署生产

1 – 持续发展

我选择的解决方案 – 因为你已经使用api来沟通客户端< - > server-是完全分开两个项目.

那是什么意思呢?
对我来说是拥有两个不同的存储库.一个用于客户端,一个用于服务器
这样你获得的好处很少:

>拆分项目的工作(前端/服务器端)
>易于维护
>如果您想支持“仅API”,例如,移动应用程序等.

但是 – 他们在开发过程中如何沟通?

这是一个很好的问题:
一种解决方案是在localhost上并行运行两个服务器,即mvn clean tomcat:run -P yourprofile; grunt服务器

但是 – 如果我尝试从不同端口从客户端访问服务器端,我将获得跨域?
你是对的.在这里你得到了grunt及其插件的帮助.抢一份grunt-connect-proxy的副本

这个插件有什么好处,它充当grunt服务器和tomcat服务器之间的中间件,所以你问grunt服务器的API,但实际上grunt要求tomcat服务器回答(当然在幕后)

2 – 部署用于生产

我想这是个人偏好问题.我发现war文件非常大,一次又一次上传(即使能够在你所有的tomcat应用程序之间共享lib).我想出的解决方案是通过git进行部署.

好的,但我有一个大的战争档案.我怎样才能做到这一点?

对我来说,我使用我在bash中编写的部署脚本.这就是它的作用:

>标记当前来源
>运行mvn clean package war:爆炸-P your-prod-profile(这也将运行测试和集成测试)
>使用上面的命令,您可以在一个地方获得所有已编译项目的文件,而不是一个大的war文件.
>将所有这些文件(和内部路径)复制到外部文件夹中(我使用另一个存储库通过git进行维护部署.所以基本上我有3个存储库.一个用于服务器源,一个用于客户端源,一个用于服务器二进制文件.)
>在执行4之前,请确保从中删除所有文件和文件夹(除了.git之外)
> 4之后做“git add -A”
>“git commit -a -m’新生产版本X”
>您可以在之前和之后标记一些标记,以便在新生产中存在大错误的情况下轻松恢复最后一个代码
>在服务器上运行远程命令到.)停止服务器,b.)从二进制存储库中提取最后的更改,c.)再次运行服务器.
>对我来说,我所做的是tomcat应用程序与外部文件夹(二进制存储库)之间的符号链接

希望这会给你一些指示,

最好成绩,橡木

java – 运行grunt和tomcat服务器的Web App(Spring,Angular,Grunt,Maven,Tomcat)的更多相关文章

  1. 前端实现背景虚化但内容清晰且自适应 的实例代码

    这篇文章主要介绍了前端实现背景虚化但内容清晰且自适应 的实例代码,需要的朋友可以参考下

  2. Android Studio是否支持用于Android UI设计的AngularJS?

    我对AndroidStudio有疑问:AS在设计XML文件时是否支持AngularJS代码,例如:对于小动画或效果?

  3. android – 如何使用ClientID和ClientSecret在Phonegap中使用Angularjs登录Google OAuth2

    我正尝试使用Angularjs(使用IonicFramework)通过GoogleOAuth2从我的Phonegap应用程序登录.目前我正在使用http://phonegap-tips.com/articles/google-api-oauth-with-phonegaps-inappbrowser.html进行登录.但是当我使用Angular-UI-RouterforIonic时,它正在创建非常

  4. 利用require.js与angular搭建spa应用的方法实例

    这篇文章主要给大家介绍了关于利用require.js与angular搭建spa应用的方法实例,文中通过示例代码给大家介绍的非常详细,对大家的理解和学习具有一定的参考学习价值,需要的朋友们下面跟着小编来一起看看吧。

  5. 详解Angular动态组件

    本文主要介绍了Angular动态组件,对此感兴趣的同学,可以亲自实验一下。

  6. 详解如何使用webpack+es6开发angular1.x

    本篇文章主要介绍了详解如何使用webpack+es6开发angular1.x,具有一定的参考价值,有兴趣的可以了解一下

  7. angular2系列之路由转场动画的示例代码

    本篇文章主要介绍了angular2系列之路由转场动画的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  8. 一种angular的方法级的缓存注解(装饰器)

    本篇文章主要介绍了一种angular的方法级的缓存注解(装饰器),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  9. 动手写一个angular版本的Message组件的方法

    本篇文章主要介绍了动手写一个angular版本的Message组件的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  10. angular forEach方法遍历源码解读

    这篇文章主要为大家详细了angular forEach方法遍历源码,forEach()方法用于遍历对象或数组,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

随机推荐

  1. 基于EJB技术的商务预订系统的开发

    用EJB结构开发的应用程序是可伸缩的、事务型的、多用户安全的。总的来说,EJB是一个组件事务监控的标准服务器端的组件模型。基于EJB技术的系统结构模型EJB结构是一个服务端组件结构,是一个层次性结构,其结构模型如图1所示。图2:商务预订系统的构架EntityBean是为了现实世界的对象建造的模型,这些对象通常是数据库的一些持久记录。

  2. Java利用POI实现导入导出Excel表格

    这篇文章主要为大家详细介绍了Java利用POI实现导入导出Excel表格,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  3. Mybatis分页插件PageHelper手写实现示例

    这篇文章主要为大家介绍了Mybatis分页插件PageHelper手写实现示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

  4. (jsp/html)网页上嵌入播放器(常用播放器代码整理)

    网页上嵌入播放器,只要在HTML上添加以上代码就OK了,下面整理了一些常用的播放器代码,总有一款适合你,感兴趣的朋友可以参考下哈,希望对你有所帮助

  5. Java 阻塞队列BlockingQueue详解

    本文详细介绍了BlockingQueue家庭中的所有成员,包括他们各自的功能以及常见使用场景,通过实例代码介绍了Java 阻塞队列BlockingQueue的相关知识,需要的朋友可以参考下

  6. Java异常Exception详细讲解

    异常就是不正常,比如当我们身体出现了异常我们会根据身体情况选择喝开水、吃药、看病、等 异常处理方法。 java异常处理机制是我们java语言使用异常处理机制为程序提供了错误处理的能力,程序出现的错误,程序可以安全的退出,以保证程序正常的运行等

  7. Java Bean 作用域及它的几种类型介绍

    这篇文章主要介绍了Java Bean作用域及它的几种类型介绍,Spring框架作为一个管理Bean的IoC容器,那么Bean自然是Spring中的重要资源了,那Bean的作用域又是什么,接下来我们一起进入文章详细学习吧

  8. 面试突击之跨域问题的解决方案详解

    跨域问题本质是浏览器的一种保护机制,它的初衷是为了保证用户的安全,防止恶意网站窃取数据。那怎么解决这个问题呢?接下来我们一起来看

  9. Mybatis-Plus接口BaseMapper与Services使用详解

    这篇文章主要为大家介绍了Mybatis-Plus接口BaseMapper与Services使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

  10. mybatis-plus雪花算法增强idworker的实现

    今天聊聊在mybatis-plus中引入分布式ID生成框架idworker,进一步增强实现生成分布式唯一ID,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

返回
顶部