小编kon*_*ack的帖子

如何在Docker构建期间强制构建arg?

是否有任何方法可以在构建期间强制构建参数docker build?如果缺少参数,预期的行为将是构建失败.

例如,对于以下Dockerfile:

FROM ubuntu

ARG MY_VARIABLE
ENV MY_VARIABLE $MY_VARIABLE

RUN ...
Run Code Online (Sandbox Code Playgroud)

我希望构建在构建时失败,并ARG MY_VARIABLE在构建时docker build -t my-tag .传递docker build -t my-tag --build-arg MY_VARIABLE=my_value ..

有没有办法实现这种行为?在我的情况下,设置默认值并不能真正起到作用.

(我跑泊坞窗1.11.1darwin/amd64.)

编辑:我能想到的一种方法是运行一个MY_VARIABLE空的命令,例如:

FROM ubuntu

ARG MY_VARIABLE
RUN test -n "$MY_VARIABLE"
ENV MY_VARIABLE $MY_VARIABLE

RUN ...
Run Code Online (Sandbox Code Playgroud)

但它似乎并不是解决手头问题的非常惯用的解决方案.

docker

40
推荐指数
6
解决办法
9358
查看次数

Javascript中括号内的逗号行为

我有一个双重问题涉及我认为是不正确的Javascript代码.

如何在Javascript中解释以下语句,为什么?

(1,2,3,4)
Run Code Online (Sandbox Code Playgroud)

为什么这两个调用之间存在差异:

var a = (1,2,3,4);
a();
Run Code Online (Sandbox Code Playgroud)

这导致a等于4Uncaught TypeError: a is not a function被抛出,和

(1,2,3,4)();
Run Code Online (Sandbox Code Playgroud)

哪个导致Uncaught TypeError: (((1 , 2) , 3) , 4) is not a function

javascript

22
推荐指数
2
解决办法
727
查看次数

在Rails资产管道(application.js)中排除*.spec.js文件

我试图跟随约翰爸爸的AngularJs 1.x的风格指南(组织测试)和地方*.spec.js文件(使用噶执行)旁边的客户端代码,这会导致文件,如some.filter.jssome.filter.spec.js旁边彼此之间的地方.

但是,我需要避免的是包含*.spec.js资产管道中的文件.

我现在看到的唯一选项是避免//= require_tree .application.js文件中使用并明确指定每个文件,或放弃保留代码旁边的spec文件.

有没有更好的方法来实现理想的行为?

(我正在使用链轮3.5.2和导轨4.2.6)

ruby-on-rails sprockets angularjs

10
推荐指数
1
解决办法
350
查看次数

在IntelliJ IDEA中运行WebLogic时出现错误的类路径和参数

我已经安装并配置了WebLogic,当我从控制台运行它时,一切正常(它是Windows 7上的WebLogic 10.3.5,JDK 6).

但是,当我在IntelliJ IDEA中配置WebLogic(正确的BEA Home,正确的域路径等)并尝试运行它时,它甚至使用正确的startWebLogic.cmd,但我得到的所有输出是:

C:\Users\konradstrack\dev\weblogic\base_domain\startWebLogic.cmd
.
.
JAVA Memory arguments: -Xms256m -Xmx512m -XX:CompileThreshold=8000 -XX:PermSize=48m -XX:MaxPermSize=128m
.
WLS Start Mode=Development
.
CLASSPATH=C:\PROGRA~2\Java\JDK16~1.0_2\lib\tools.jar;C:\wlserver\server\lib\weblogic_sp.jar;C:\wlserver\server\lib\weblogic.jar;C:\modules\features\weblogic.server.modules_10.3.5.0.jar;C:\wlserver\server\lib\webservices.jar;C:\modules\org.apache.ant_1.7.1/lib/ant-all.jar;C:\modules\net.sf.antcontrib_1.1.0.0_1-0b2/lib/ant-contrib.jar;C:\wlserver\common\derby\lib\derbyclient.jar;C:\wlserver\server\lib\xqrl.jar
.
PATH=;C:\wlserver\server\native\win\32;C:\wlserver\server\bin;C:\modules\org.apache.ant_1.7.1\bin;C:\PROGRA~2\Java\JDK16~1.0_2\jre\bin;C:\PROGRA~2\Java\JDK16~1.0_2\bin;C:\Program Files (x86)\JetBrains\IntelliJ IDEA 11.1.3\bin\..\.\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;c:\program files (x86)\jetbrains\intellij idea 11.1.3\jre\jre\bin;C:\wlserver\server\native\win\32\oci920_8
.
***************************************************
*  To start WebLogic Server, use a username and   *
*  password assigned to an admin-level user.  For *
*  server administration, use the WebLogic Server *
*  console at http:\\hostname:port\console        *
***************************************************
starting weblogic with Java version:
java version "1.6.0_25"
Java(TM) SE Runtime …
Run Code Online (Sandbox Code Playgroud)

java weblogic intellij-idea

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

注入修改后的Spring安全表达式语言实现后,"需要调试符号信息(...)"

我有一个示例类来测试@PreAuthorize注释,它看起来或多或少像这样:

class BankService {

    @PreAuthorize("hasCustomRole('ROLE_CUSTOM') or hasRole('ROLE_EXAMPLE')")
    Double getAccountBalance(Integer accountNumber) {
        return 1234;
    }

    @PreAuthorize("#accountNumber > 400")
    int getValue(Integer accountNumber) {
        return 1234;
    }
}
Run Code Online (Sandbox Code Playgroud)

您可以hasCustomRole(String expression)@PreAuthorize注释中注意到,我正在添加:

public class CustomSecurityExpressionRoot extends SecurityExpressionRoot {

    public CustomSecurityExpressionRoot(Authentication auth) {
        super(auth);
    }

    public boolean hasCustomRole(String expression) {
       return /* some magic */;
    }
}
Run Code Online (Sandbox Code Playgroud)

另外,我正在DefaultMethodSecurityExpressionHandler以下列方式进行扩展:

public class CustomMethodSecurityExpressionHandler extends DefaultMethodSecurityExpressionHandler {

    public CustomMethodSecurityExpressionHandler() {
        super();
    }

    @Override
    public EvaluationContext createEvaluationContext(Authentication auth, MethodInvocation mi) {
        StandardEvaluationContext …
Run Code Online (Sandbox Code Playgroud)

grails spring spring-security

5
推荐指数
1
解决办法
753
查看次数

在编译期间无法解析继承的嵌套静态类

这个故事非常简短,首先是Lucene课程中的一些摘录:

分析:

public abstract class Analyzer implements Closeable {

    (...)

    public static class TokenStreamComponents { ... }

    (...)
}
Run Code Online (Sandbox Code Playgroud)

AnalyzerWrapper:

public abstract class AnalyzerWrapper extends Analyzer {

    (...)

    @Override
    protected final TokenStreamComponents createComponents(String fieldName, Reader aReader) {
        return wrapComponents(fieldName, getWrappedAnalyzer(fieldName).createComponents(fieldName, aReader));
    }

    (...)

}
Run Code Online (Sandbox Code Playgroud)

现在在Grails应用程序中我定义了自己的类, MyAnalyzer.groovy

class MyAnalyzer extends AnalyzerWrapper {

    private final PerFieldAnalyzerWrapper perFieldAnalyzerWrapper

    public MyAnalyzer() { ... }

    @Override
    protected Analyzer getWrappedAnalyzer(String fieldName) {
        perFieldAnalyzerWrapper.getWrappedAnalyzer(fieldName)
    }

    @Override
    protected TokenStreamComponents wrapComponents(String fieldName, TokenStreamComponents tokenStreamComponents) {
        perFieldAnalyzerWrapper.wrapComponents(fieldName, tokenStreamComponents)
    }
} …
Run Code Online (Sandbox Code Playgroud)

java grails groovy

5
推荐指数
1
解决办法
1441
查看次数