ERROR: cannot init Sys.homeDir running a Fantom app based on afBedSheet on Mac OS X
Following the instructions from Alien Factory's afBedNap to build a web app using the afBedSheet framework for Fantom I got this error at the end of step 3 (running the app):
$ fan myAfBedNap
[09:37:54 03-Aug-14] [info] [afBedSheet] Starting BedSheet Proxy on port 8069
[09:37:54 03-Aug-14] [info] [web] WispService started on port 8069
[09:37:54 03-Aug-14] [info] [afBedSheet] Cached the timestamps of 57 pods
[09:37:54 03-Aug-14] [info] [afBedSheet] Launching BedSheet WebApp 'myAfBedNap' on port 8070
ERROR: cannot init Sys.homeDir
java.lang.RuntimeException: Invalid fan.home dir: "/Users/coder/apps/fantom-1.0.66"
at fan.sys.Sys.sysPropToDir(Sys.java:349)
at fan.sys.Sys.initHomeDir(Sys.java:304)
at fan.sys.Sys.<clinit>(Sys.java:41)
at fanx.tools.Fan.execute(Fan.java:28)
at fanx.tools.Fan.run(Fan.java:298)
at fanx.tools.Fan.main(Fan.java:336)
java.lang.ExceptionInInitializerError
at fanx.tools.Fan.execute(Fan.java:28)
at fanx.tools.Fan.run(Fan.java:298)
at fanx.tools.Fan.main(Fan.java:336)
Caused by: java.lang.RuntimeException: Cannot boot fan: java.lang.RuntimeException: Invalid fan.home dir: "/Users/coder/apps/fantom-1.0.66"
at fan.sys.Sys.initFail(Sys.java:606)
at fan.sys.Sys.initHomeDir(Sys.java:308)
at fan.sys.Sys.<clinit>(Sys.java:41)
... 3 more
Путь /Users/coder/apps/fantom-1.0.66
exists and is where I installed Fantom. Я побежал export FAN_HOME="/Users/coder/apps/fantom-1.0.66"
но это не имело значения.
Если я бегу $FAN_HOME/bin/fan -version
вот что я получаю:
Fantom Launcher
Copyright (c) 2006-2013, Brian Frank and Andy Frank
Licensed under the Academic Free License version 3.0
Java Runtime:
java.version: 1.8.0_05
java.vm.name: Java HotSpot(TM) 64-Bit Server VM
java.vm.vendor: Oracle Corporation
java.vm.version: 25.5-b02
java.home: /Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/Contents/Home/jre
fan.platform: macosx-x86_64
fan.version: 1.0.66
fan.env: sys::BootEnv
fan.home: /Users/coder/apps/fantom-1.0.66
I can't find a solution in Fantom forums. Есть идеи, пожалуйста?
1 ответ
Решение
Похоже, что приложение запускается, когда запускает прокси-сервер разработки BedSheet, поэтому попробуйте запустить веб-приложение без него.
В /myAfBedNap/fan/Main.fan
удалить -proxy
вариант так выглядит:
class Main {
Int main() {
afBedSheet::Main().main("-env dev myAfBedNap 8069".split)
}
}