如何从JHipster Spring Boot项目构建要在Tomcat上部署的WAR文件?

时间:2016-03-03 21:39:08

标签: maven tomcat spring-boot jhipster

我使用JHipster创建了一个项目,但是进行了更改并添加了内容。它从IDE(Intellij)作为Spring Boot项目运行时运行正常,但是当尝试构建WAR并将其部署在Tomcat 7上时,它会因以下堆栈跟踪而失败:

Running "karma:unit" (karma) task
INFO [karma]: Karma v0.12.35 server started at http://localhost:9876/
INFO [launcher]: Starting browser PhantomJS
INFO [PhantomJS 1.9.8 (Windows 7 0.0.0)]: Connected on socket gsod2iXnNubgdt_gVHUZ with id 68003640
PhantomJS 1.9.8 (Windows 7 0.0.0) ERROR
  ReferenceError: Can't find variable: google
  at C:/Dev/workspaces/myProject/src/main/webapp/scripts/components/view/geoChart.directive.js:9
PhantomJS 1.9.8 (Windows 7 0.0.0) ERROR
  ReferenceError: Can't find variable: google
  at C:/Dev/workspaces/myProject/src/main/webapp/scripts/components/view/geoChart.directive.js:9

PhantomJS 1.9.8 (Windows 7 0.0.0): Executed 0 of 0 ERROR (1.301 secs / 0 secs)

Warning: Task "karma:unit" failed. Use --force to continue.

Aborted due to warnings.

我也尝试过:

mvn -Pprod clean package

但是也失败了:

a

我添加了Google GeoChart,这似乎会导致问题。

我想得到的是我可以在Tomcat上部署的经典WAR,但我显然做错了什么而且我不知道是什么。

谢谢。

2 个答案:

答案 0 :(得分:2)

您使用的是* .war.original还是* .war?

我认为您希望在将其重命名为.war文件后将* .war.original放入tomcat。

请参阅文档:http://jhipster.github.io/production/

  

将应用程序打包为"生产" WAR,输入:

     

mvn -Pprod包

     

或使用Gradle时:

     

gradlew -Pprod bootRepackage

     

这将生成两个文件(如果您的应用程序被调用   " jhipster&#34):

     

目标/ jhipster-0.0.1-SNAPSHOT.war   target / jhipster-0.0.1-SNAPSHOT.war.original第一个是   可执行的WAR文件(参见下一节来运行它)。它也可以   部署在应用程序服务器上,但因为它包含Tomcat   运行时库,你可能会得到一些警告,这就是我们的原因   建议你使用第二个," .original"文件,如果要部署   JHipster在应用程序服务器上。

     

在应用程序服务器上部署WAR文件之后:

     

它默认使用" dev" profile它可以在"生产中运行   模式"如果你触发" prod"个人资料(有几种方法可以   触发Spring配置文件,例如您可以添加   -Dspring.profiles.active =在运行服务器时prod到你的JAVA_OPTS)

答案 1 :(得分:0)

同时将Karma版本从v0.12.35更新为Karma v0.13.19

也就是说,在"karma": "0.13.19",和朗姆酒package.json中设置npm install。 更多信息here