小编sme*_*eeb的帖子

如何在Grails中编辑web.xml?

当你这样做时grails create-app,它看起来不像是web.xml在任何地方生成的.根据最新的文档,听起来像运行grails install-templates将放在web.xml您的src/templates/war目录中.关于这个的一些问题:

  • 我们目前正在使用Grails 2.4.4:这仍然是现代/推荐的访问web.xml和修改它的方式吗?
  • 有人可以确认修改此生成的内容web.xml(例如添加servlet过滤器)实际上会覆盖并在应用程序运行时生效吗?

grails web.xml

8
推荐指数
1
解决办法
3122
查看次数

何时使用Akka Microkernel?

我正在阅读Akka文档,我很好奇一些事情并没有得到很好的解释.他们提到了一种名为Akka Microkernel的东西,并提到它的某种应用程序引导程序/启动程序,但它们并没有真正解释它是什么以及何时使用它.

稍后在文档中有一整页专门介绍Microkernel,但它同样神秘而模糊,说明:

Akka Microkernel包含在下载的Akka下载中.

然后:

要使用微内核运行应用程序,您需要创建一个Bootable类来处理启动和关闭应用程序.下面是一个例子.

但是没有任何地方可以解释微内核是什么以及为什么我需要使用它.想法?

java scala akka

8
推荐指数
1
解决办法
698
查看次数

如何从远程URL cURL JAR

我有一个可以从HTTP URL下载的JAR,比如说http://somerepo.example.org/myjar-1.0.jar.

我需要一个cURL命令,将其下载到当前目录; 我迄今为止的最佳尝试是:

curl -i -H "Accept: application/zip" -H "Content-Type: application/zip" -X GET http://somerepo.example.org/myjar-1.0.jar
Run Code Online (Sandbox Code Playgroud)

当我运行这个时,我的控制台充满了二进制垃圾邮件,似乎导致我的整个终端崩溃了.

从远程URL获取JAR的正确cURL命令是什么?

java curl

8
推荐指数
1
解决办法
8816
查看次数

Docker无法运行Java应用程序

我有以下项目目录结构:

myapp/
    grails-app/ (its a grails app, derrrr)
    target/
        myapp.jar (built by grails)
    myapp.yml
Run Code Online (Sandbox Code Playgroud)

... target/myapp.jar可执行JAR(实际上是运行嵌入式Jetty的自包含Web应用程序)在哪里myapp.yml,启动时需要的配置文件在哪里.

这是我的Dockerfile:

FROM java:8
MAINTAINER My Name <myname@example.com>

WORKDIR /

ADD ./target/myapp.jar /myapp.jar
ADD ./myapp.yml /myapp.yml

EXPOSE 8080

CMD ["java", "-jar myapp.jar myapp.yml"]
Run Code Online (Sandbox Code Playgroud)

然后我用它构建图像docker build -t myapp ..它成功构建我然后尝试运行图像docker run myapp并获取:

Unrecognized option: -jar myapp.jar myapp.yml
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
Run Code Online (Sandbox Code Playgroud)

知道这里可能出现什么问题,以及我需要做些什么来解决这个问题或排除故障?

java docker

8
推荐指数
1
解决办法
4300
查看次数

使用Groovy按降序对Map值进行排序

我有一个Map<String,Integer>条目(键)需要按降序的顺序排序.例如,如果地图如下所示:

"a" => 5
"b" => 3
"c" => 12
"d" => 9
Run Code Online (Sandbox Code Playgroud)

排序后需要看起来像:

"c" => 12
"d" => 9
"a" => 5
"b" => 3
Run Code Online (Sandbox Code Playgroud)

迄今为止我最好的尝试:

def test() {
    Map<String,Integer> toSort = new HashMap<String,Integer>()
    toSort.put("a", 5)
    toSort.put("b", 3)
    toSort.put("c", 12)
    toSort.put("d", 9)

    Map<String,Integer> sorted = sortMapDesc(toSort)
    sorted.each {
        println "${it.key} has a value of ${it.value}."
    }
}

def sortMapDesc(Map<String,Integer> toSort) {
    println "Sorting..."
    println toSort

    // The map of properly sorted entries.
    Map<String,Integer> sorted = …
Run Code Online (Sandbox Code Playgroud)

sorting groovy map

7
推荐指数
1
解决办法
8943
查看次数

Akka:在演员系统之外回传?

我有以下驱动程序/主类封装我的Akka程序:

// Groovy pseudo-code
class FizzBuzz {
    ActorSystem actorSystem

    static void main(String[] args) {
        FizzBuzz d = new FizzBuzz()
        d.run()
    }

    void run() {
        Initialize initCmd = new Initialize()
        MasterActor master = actorSystem.get(...)

        // Tells the entire actor system to initialize itself and start doing stuff.
        // ChickenCluckDetector is an actor managed/supervised by MasterActor.
        master.tell(initCmd, ...)
    }

    // Called when a ChickenCluckDetector actor inside the actor system receives
    // a 'Cluck' message.
    void onChickenGoesCluck(Cluck cluck) {
        // Do something
    } …
Run Code Online (Sandbox Code Playgroud)

java actor akka

7
推荐指数
1
解决办法
929
查看次数

Docker镜像版本控制和生命周期管理

我正在进入Docker,并试图更好地了解它在"现实世界"中的运作方式.

在我看来,在实践中:

  • 您需要一种方法来版本化Docker镜像
  • 您需要一种方法来告诉Docker引擎(在VM上运行)停止/启动/重新启动特定容器
  • 您需要一种方法来告诉Docker引擎运行哪个版本的映像

Docker是否附带内置命令来处理这些命令?如果没有使用什么工具/策略来完成它们?另外,当我构建一个Docker镜像时(例如,通过docker build -t myapp .),生成了什么文件类型以及它在机器上的位置?

versioning lifecycle docker

7
推荐指数
1
解决办法
3754
查看次数

Gradle能以任何方式帮助解决jar地狱吗?

Java 8在这里.

假设有一个旧版本的widgetlibray,带有Maven坐标widgetmakers:widget:1.0.4,其中有一个类,如下所示:

public class Widget {
    private String meow;

    // constructor, getters, setters, etc.
}
Run Code Online (Sandbox Code Playgroud)

岁月流逝.这个widget库的维护者决定一个事实上Widget应该永远不meow应该bark.因此,新版本发布,Maven坐标widgetmakers:widget:2.0.0Widget看起来像:

public class Widget {
    private Bark bark;

    // constructor, getters, setters, etc.
}
Run Code Online (Sandbox Code Playgroud)

所以现在我去构建我的应用程序myapp.而且,想要使用我所有依赖项的最新稳定版本,我声明我的依赖项就像这样(在里面build.gradle):

dependencies {
    compile (
        ,'org.slf4j:slf4j-api:1.7.20'
        ,'org.slf4j:slf4j-simple:1.7.20'
        ,'bupo:fizzbuzz:3.7.14'
        ,'commons-cli:commons-cli:1.2'
        ,'widgetmakers:widget:2.0.0'
    )
}
Run Code Online (Sandbox Code Playgroud)

现在,让我们说,这(虚构的)fizzbuzz图书馆总是对的1.x的版本取决于widget图书馆,在那里Widgetmeow.

所以现在,我widget在我的编译类路径上指定了两个版本:

  1. widgetmakers:widget:1.0.4fizzbuzz作为它的依赖,它被图书馆所吸引; 和 …

java conflicting-libraries dependency-management gradle transitive-dependency

7
推荐指数
1
解决办法
1291
查看次数

在没有UI的情况下设置速度?

我刚刚发现了Speedment,一个基于Java 8 Stream的OR/M库,并且不得不说我喜欢它的想法.没有更疯狂的配置或花费时间筛选900页的休眠文档来找到正确的方法来注释我的类:Speedment只是读取您的数据库,为您生成Java类并为您提供基于流的API来运行针对它们的DDL语句.邪恶酷.

然而,一个大大忌是,它看起来像你必须使用Speedment UI来配置你的数据库连接.此外,文档似乎没有具体说明如何执行以下操作:

  • 指定您希望代码生成哪些表(可能在数据库中有一些您希望为其生成模型的表
  • 执行存储过程
  • 配置内存中缓存

等等.在GitHub上,我似乎无法找到代码如何从UI连接在一起以生成配置对象.只是想知道是否有办法配置Speedment没有UI(可能通过JSON或YAML),如果是,可以使用哪些配置.

orm java-8 java-stream speedment

7
推荐指数
1
解决办法
378
查看次数

为什么Docker Secrets比环境变量更安全?

我正在阅读Docker Secrets,并继续阅读Docker的人故意选择将秘密存储在文件中,/run/secrets而不是使用环境变量.但无处我就一直能够找到一个解释,为什么.

所以我问:为什么使用Docker Secrets机制比将环境变量注入我的容器(via -e或a --env-file)更安全?

security environment-variables docker docker-secrets

7
推荐指数
1
解决办法
1676
查看次数