小编SS4*_*S44的帖子

Git子模块密码提示

我正在尝试设置一个git deploy设置,其中我准备好在登台服务器上的git仓库时推送我的更改,然后使用post-recieve hook将各个分支的代码部署到适当的web根目录.

然而,我遇到的一个问题是每次运行时: git submodule update

我收到密码提示,导致部署脚本冻结.

到目前为止,我尝试过的事情是:

  1. 子模块托管在公共仓库上,因为我只是试图从中读取,我不明白它为什么需要密码.
  2. 也就是说,为了尝试解决这个问题,我为登台服务器创建了新的ssh密钥,当在这个案例之外运行时,能够克服/获取正常而没有任何问题.
  3. 我还检查了.gitmodules和.git/config文件,以确保从正确的位置拉出子模块.
  4. 当运行git子模块更新时,当出现密码提示只是将密码留空并按Enter似乎更新的东西就好了,但是我得到提示的事实是搞乱了我的钩子脚本.

需要注意的一件事是在我的登台服务器上设置repo时,由于防火墙的限制,我无法从我的工作实例中克隆repo,因此我在本地克隆了一个副本,然后将新克隆的版本移动到服务器,我已经能够很好地推动它.

寻找我能得到的任何建议或提示.

git deployment ubuntu

8
推荐指数
2
解决办法
4863
查看次数

递归通用和流畅的接口

TL;博士

尝试实现一个层次流畅的界面,这样我就可以组合节点子类,同时也可以独立于类,但是获取类型参数不在其绑定错误范围内.

细节

我正在尝试实现一个解决方案,以便我可以创建一些类似于以下内容的东西:

farm
    .animal()
        .cat()
            .meow()
            .findsHuman()
                .saysHello()
                .done()
            .done()
        .dog()
            .bark()
            .chacesCar()
            .findsHuman()
                .saysHello()
                .done()
            .done()
        .done()
    .human()
        .saysHello()
        .done();
Run Code Online (Sandbox Code Playgroud)

同时也能做到:

Human human = new Human()
    .saysHello()
Run Code Online (Sandbox Code Playgroud)

我已经接近使用各种策略,但未能获得所描述的灵活性.

我当前的尝试使用以下类:

abstract class Base<T extends Base<T>>{

    private T parent;

    Base(){

    }

    Base( T parent ){
        this.parent = parent;
    }

    public T done() throws NullPointerException{
        if ( parent != null ){
            return (T) parent;
        }

        throw new NullPointerException();
    }   
}

class Farm<T extends Base<T>> extends Base{

    private Animal<Farm<T>> …
Run Code Online (Sandbox Code Playgroud)

java generics fluent-interface nested-generics

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

Gradle记录输出级别

在我的项目类中,我使用java.util.logging.Logger并在我的代码中添加了各种日志输出,使用各种日志级别,即.

的src /主/爪哇/ Run.java

import java.util.logging.Level;
import java.util.logging.Logger;

public class Run{


    public static void main( String args[] ){
      System.out.println("Hello World");

      logger.log(Level.CONFIG, "Just some config info");
      Logger logger = Logger.getLogger(Run.class.getName());
      logger.log(Level.INFO, "Just logging some info");
      logger.log(Level.FINE, "Fine logging");
      logger.log(Level.FINER, "Finer logging");
      logger.log(Level.WARNING, "This is a warning log!");

    }
}
Run Code Online (Sandbox Code Playgroud)

目前,当我运行gradle -i test所有显示已Level.INFO定义的日志消息但没有输出配置,警告或精细消息时.

我已经尝试更新我的build.gradle文件,以便:

apply plugin: 'java'
apply plugin:'application'
mainClassName = "Run"

repositories {
    mavenCentral()
}

dependencies {
    testCompile "junit:junit:4.11"
}

run{
    systemProperties = …
Run Code Online (Sandbox Code Playgroud)

java logging gradle

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