小编Dón*_*nal的帖子

maven -SNAPSHOT关键字未被替换

我有一个Maven项目<packaging>jar</packaging><version>0.0.11-SNAPSHOT</version>.当我运行时mvn clean install,它将以下部署到我的本地存储库

〜/ .m2目录/库/ COM /示例/ myproject的/ 0.0.11-SNAPSHOT /共享-0.0.11-SNAPSHOT.jar

我预计生成的工件的名称将-SNAPSHOT替换为构建JAR的时间戳,如:

〜/ .m2目录/库/ COM /示例/ myproject的/ 0.0.11-SNAPSHOT /共享-0.0.11-20110217011633.jar

为什么没有发生这种替换?

java maven-2

3
推荐指数
1
解决办法
2419
查看次数

定义自定义Grails环境

基于这个问题,我想我可以在(例如)中定义这样的东西resources.groovy

def currentEnv = Environment.current
if (currentEnv == Environment.CUSTOM && currentEnv.name == 'mock') {
    println 'Do some stuff for the mock env'
}
Run Code Online (Sandbox Code Playgroud)

if语句中的代码应该在我运行时执行(例如)grails run-app -Denv=mock但是它不是,我做错了什么?

grails groovy

3
推荐指数
1
解决办法
3054
查看次数

从集合中删除重复项

我想获得具有不同语言的所有语言环境的列表,其中ISO3代码用于标识语言环境的语言.我认为以下应该有效

class ISO3LangComparator implements Comparator<Locale> {

    int compare(Locale locale1, Locale locale2) {
        locale1.ISO3Language <=> locale2.ISO3Language
    }
}

def allLocales = Locale.getAvailableLocales().toList()
def uniqueLocales = allLocales.unique {new ISO3LangComparator()}

// Test how many locales there are with iso3 code 'ara'
def arabicLocaleCount = uniqueLocales.findAll {it.ISO3Language == 'ara'}.size()

// This assertion fails
assert arabicLocaleCount <= 1
Run Code Online (Sandbox Code Playgroud)

collections groovy

3
推荐指数
2
解决办法
2673
查看次数

迭代Grails控制器模型

假设我有一个如下控制器动作:

def someAction = {

    if (someCondition) {
        [foo: 1, bar: 2] 
    } else {
        [foo2: 4, bar2: 6, baz2: 6]
    }
}
Run Code Online (Sandbox Code Playgroud)

someAction.gsp我不知道模型的键是什么.有没有办法可以在不知道密钥名称的情况下迭代模型的键和值?

grails groovy

3
推荐指数
1
解决办法
856
查看次数

从"控制器"向"查看"发送数据

在我的控制器类中有以下代码

class MyController {

    def flickrService

    def index = {
        def data = flickrService.search {
            tags 'tag,tag2,tag3'
            page 3
            perPage 14 // Look ma!
        }
        [urls:data.urls,page:data.page,pages:data.pages]
    }

}
Run Code Online (Sandbox Code Playgroud)

我还创建了一个index.gsp文件.因为我是groovy grails的新手 - 我无法弄清楚如何访问视图中flickrservice返回的数据.我可以在索引视图中访问上面定义的"数据",还是需要在循环返回数据之前在控制器中设置它?任何帮助将受到高度赞赏.谢谢

grails groovy

3
推荐指数
1
解决办法
5474
查看次数

如何避免评估GString

我正在使用groovy扩展传统脚本系统。源脚本是“类似于Java的”,因此它几乎可以解析为具有一些预处理的常规脚本。

我正在使用invokeMethod()和missingMethod()来传递旧代码,从而使我能够使用闭包和其他常规功能来增强脚本。但是,原始脚本使用“ $ foo”类型的字符串来引用变量。当遗留方法被missingMethod()捕获时,我需要它不将该字符串评估为GString,而只是逐字输出。这有可能吗?

groovy gstring

3
推荐指数
1
解决办法
2484
查看次数

单元测试grails标签

我写了一个Grails标签,它只是围绕Grails select标签的一个非常薄的包装器

package com.example

class MyTagLib {
  def listTrees = {attrs ->
    List<TreeDto> allTrees = getMandatoryAttributeValue(attrs, 'trees')
    out << g.select(from: allTrees)
  }
}
Run Code Online (Sandbox Code Playgroud)

我已经为这个类进行了单元测试,但是当我运行它时,在执行最后一行时出现以下错误:

groovy.lang.MissingMethodException:没有方法签名:com.example.MyTagLib.select()适用于参数类型:(java.util.LinkedHashMap)

g在运行单元测试时,似乎无法使用命名空间中grails标记的引用.我尝试过创建集成测试,但这也不起作用.

有没有办法测试一个调用另一个标签的标签,而无需对其他标签的输出进行存根/模拟?

tags grails groovy unit-testing taglib

3
推荐指数
1
解决办法
767
查看次数

eclipse JSP换行

在Eclipse中,我设置了Java格式化程序,只有当它们超过120个字符时才会换行.我希望在格式化JSP文件时使用相同的设置,但是当它们在超过90个字符时包装它们时,是否可以更改它?

java eclipse jsp

3
推荐指数
1
解决办法
5611
查看次数

按唯一名称绑定域类

我的Grails应用程序具有以下命令对象

class MyCommand {

    @BindUsing({
        obj, source ->
            User.findByUsername(source.username)
    })
    User user

    // other stuff not relevant to this question
}
Run Code Online (Sandbox Code Playgroud)

请求参数包括username唯一标识的参数User.我添加了@BindUsing注释,以便将user命令对象的属性绑定到相应的User实例.但是,在数据绑定完成后user,即使username参数正确,该字段也为空.我究竟做错了什么?

data-binding grails

3
推荐指数
1
解决办法
203
查看次数

获取对 Highcharts 图表的引用

我在一个带有 id 的 div 中渲染一个 Highcharts 图表,container如下所示:

new Highcharts.Chart({
    chart: {
        renderTo: 'container',
        type: 'line',
        zoomType: 'x'
    },

    xAxis: {
        categories: ['Jan', 'Feb']
    },

    series: [{
        data: [29.9, 71.5]
    }]
});
Run Code Online (Sandbox Code Playgroud)
new Highcharts.Chart({
    chart: {
        renderTo: 'container',
        type: 'line',
        zoomType: 'x'
    },

    xAxis: {
        categories: ['Jan', 'Feb']
    },

    series: [{
        data: [29.9, 71.5]
    }]
});
Run Code Online (Sandbox Code Playgroud)

请注意,我没有在变量中捕获对图表对象的引用。在图表渲染后的某个时间点,是否可以从图表对象已渲染到的元素的 ID 中获取对图表对象的引用(container在本例中)?

javascript highcharts

3
推荐指数
1
解决办法
4387
查看次数