0

netbeans を使用してスクリプト フォルダに次のスクリプトを作成しました。ドメイン クラスを保存できません。また、プロジェクト全体を war ファイルとしてデプロイする場合、Windows スケジューラを使用してスクリプトを実行できますか?

脚本

def json = ""
def txt = new URL("http://free.worldweatheronline.com/feed/weather.ashx?q=Singapore,Singapore&format=xml&num_of_days=1&key=b674fb7e94131612112609").text
def records = new XmlSlurper().parseText(txt)
def weather = records.weather
def dates = weather.date
def min = weather.tempMinC
def max = weather.tempMaxC
def img = weather.weatherIconUrl
def desc = weather.weatherDesc
def descLink = desc.toString().replaceAll(" ","%20")
println max
Weathers w  = new Weathers()
w.cityName="singapore"
w.day = dates
w.description =desc
w.max = max
w.img = img
w.min = min
w.url = "jk"

ドメインクラス

package org.mPest

class Weathers {
    int id
    String day
    String min
    String max
    String img
    String description
    String cityName
    String url

static constraints = {
    id(blank:false, unique:true)
    cityName(blank:false)
    url(blank:false)

}

}

4

3 に答える 3

0

ドメイン クラスを直接使用することはできません。

からドメイン クラスを使用する方法については、この FAQを参照してsrc/groovyください。

import org.codehaus.groovy.grails.commons.ApplicationHolder
//…
def book = ApplicationHolder.application.getClassForName("library.Book").findByTitle("Groovy in Action")

war pack されたスクリプトを Windows から実行できるかどうかはわかりませんが、grails Quartz プラグインを使用してタスクをスケジュールできます...

于 2012-04-23T20:28:02.047 に答える
0

Grails 2.x では、ApplicationHolder の代わりにホルダーを使用する必要があります。例えば:

import grails.util.Holders
def validKeys = Holders.grailsApplication.getClassForName("com.vcd.Metadata").findAll { it.metadataKey }*.metadataKey
于 2014-02-27T00:43:12.857 に答える
0

grails run-scriptコマンドを見てください。これを使用して、Windows スケジューラや cron などを使用してスクリプトを実行できるはずですが、スクリプトを実行するには、完全なソース コード (war ファイルではない) を用意する必要があります。

于 2012-04-25T02:54:36.543 に答える