我使用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,但我显然做错了什么而且我不知道是什么。
谢谢。
答案 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。