Github에서의 환매 특약 https://github.com/damorton/dropwizardheroku-webgateway에게 Heroku 환경은 로컬 Heroku가 환경에 구축하고 웹팩 단계 후 <code>heroku local</code>하지만, 충돌을 사용하여 미세하기 때문에 응용 프로그램이 없습니다 실행
빌드 ./gradlew stage
Heroku가 응용 프로그램을 중단합니다 빌드의 webpack 단계에서 생성 된 bundle.js
파일을 읽으십시오.
이
heroku run bash
을 사용하여 Heroku가 응용 프로그램으로 지금까지
- 가 기록 완료하고
bundle.js
파일이 생성되는 경우 확인, 그것은이다. - 내 로컬 ENV와 유사한 자바 버전을 사용
java.runtime.version=1.8.0_131
Heroku가 로그 로그에서 응용 프로그램이 NullPointerException
을 던지고있다
Setting JAVA_TOOL_OPTIONS defaults based on dyno size. Custom settings will override them.
2017-05-05T10:55:43.963570+00:00 app[web.1]: Picked up JAVA_TOOL_OPTIONS: -Xmx350m -Xss512k -Dfile.encoding=UTF-8
2017-05-05T10:55:45.617664+00:00 app[web.1]: INFO [2017-05-05 10:55:45,613] org.eclipse.jetty.util.log: Logging initialized @1649ms
2017-05-05T10:55:45.696063+00:00 app[web.1]: INFO [2017-05-05 10:55:45,695] io.dropwizard.server.SimpleServerFactory: Registering jersey handler with root path prefix:/
2017-05-05T10:55:45.696110+00:00 app[web.1]: INFO [2017-05-05 10:55:45,695] io.dropwizard.server.SimpleServerFactory: Registering admin handler with root path prefix: /admin
2017-05-05T10:55:45.696230+00:00 app[web.1]: INFO [2017-05-05 10:55:45,696] io.dropwizard.assets.AssetsBundle: Registering AssetBundle with name: assets for path /assets/*
2017-05-05T10:55:59.241010+00:00 app[web.1]: InputString in is null with path assets/js/bundle.js
2017-05-05T10:55:59.243502+00:00 app[web.1]: Exception in thread "main" java.lang.NullPointerException
2017-05-05T10:55:59.243739+00:00 app[web.1]: at java.io.Reader.<init>(Reader.java:78)
2017-05-05T10:55:59.243867+00:00 app[web.1]: at java.io.InputStreamReader.<init>(InputStreamReader.java:72)
2017-05-05T10:55:59.243967+00:00 app[web.1]: at com.bitbosh.dropwizardheroku.webgateway.api.NashornController.read(NashornController.java:46)
2017-05-05T10:55:59.244023+00:00 app[web.1]: at com.bitbosh.dropwizardheroku.webgateway.api.NashornController.<init>(NashornController.java:27)
2017-05-05T10:55:59.244096+00:00 app[web.1]: at com.bitbosh.dropwizardheroku.webgateway.Main.run(Main.java:43)
2017-05-05T10:55:59.244149+00:00 app[web.1]: at com.bitbosh.dropwizardheroku.webgateway.Main.run(Main.java:23)
2017-05-05T10:55:59.244212+00:00 app[web.1]: at io.dropwizard.cli.EnvironmentCommand.run(EnvironmentCommand.java:43)
2017-05-05T10:55:59.244255+00:00 app[web.1]: at io.dropwizard.cli.ConfiguredCommand.run(ConfiguredCommand.java:85)
2017-05-05T10:55:59.244306+00:00 app[web.1]: at io.dropwizard.cli.Cli.run(Cli.java:75)
2017-05-05T10:55:59.244391+00:00 app[web.1]: at io.dropwizard.Application.run(Application.java:79)
2017-05-05T10:55:59.244436+00:00 app[web.1]: at com.bitbosh.dropwizardheroku.webgateway.Main.main(Main.java:26)
을 system.properties
업데이트이는 Nashorn에 의해 발생 엔진은 NashornController.java
이고 bundle.js
파일의 InputStream에서 생성 된 Reader
을 나타냅니다.
내가 알아낼 수없는 것은 로컬에서는 정상적으로 작동하지만 Heroku 환경에서는 작동하지 않는 이유입니다. bundle.js
파일을 작성하지 않고 번들에 추가 된 Javascript 소스 코드를 평가하면 모든 것이 올바르게 작동합니다.
은'항아리 안에 bundle.js' 있습니까? 전체 경로로 참조되어 있습니까? – codefinger
@codefinger 제가 dropwizard를 사용하고 있습니다. 그렇습니다. 'bundle.js' 파일은 Heroku의 빌드/배포 단계에서 jar 파일로 패키지되어야합니다. – David
@codefinger'bundle.js' 파일은 배포 슬러그에 포함되어 있어야하며 동일한 명령을 사용하여 로컬로 작동합니다. ./gradlew stage && heroku local' – David