小编sal*_*sal的帖子

Maven通过Hudson发布

我正在设置Hudson使用批处理任务插件来对我们的内部存储库进行maven发布.我是这样做的:

mvn --batch-mode release:prepare
mvn --batch-mode release:perform
Run Code Online (Sandbox Code Playgroud)

我对人们使用的其他方法以及这些方法的优缺点感兴趣.此外,任何陷入困境的人都会遇到.

continuous-integration maven-2 hudson release-management jenkins

11
推荐指数
1
解决办法
9186
查看次数

衡量成功重构的指标

是否有衡量代码重构的客观指标?

在重构之前和之后运行findbugs,CRAP或checkstyle是检查代码是否实际改进而不仅仅是改变的有用方法吗?

我正在寻找可以捕获的趋势,这些趋势可以帮助我们改进代码审查流程,而不会浪费时间在简单的个人偏好上改变代码.

language-agnostic agile refactoring code-metrics

9
推荐指数
2
解决办法
2075
查看次数

什么是C#委托,动态代理,闭包和函数指针之间的区别?

将方法或函数作为数据传递的常用方法有哪些有用的定义,例如:

  • 代表
  • 关闭
  • 函数指针
  • 通过动态代理调用和
  • 一流的方法?

language-agnostic delegates closures function-pointers dynamic-proxy

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

从外类和其他内部类别对内部类进行子类化

我很困惑为什么这是允许的

public class Foo {
    class Bar extends Foo {
    }
}
Run Code Online (Sandbox Code Playgroud)

但这是不允许的

public class Foo {
    class Bar extends Foo {
    }

    class Fooey extends Bar {
    }
}
Run Code Online (Sandbox Code Playgroud)

编译器通知它在调用超类型构造函数之前无法引用Fooey.this.

这是允许的

public class Foo {
    static class Bar extends Foo {
    }

    class Fooey extends Bar {
    }
}
Run Code Online (Sandbox Code Playgroud)

这里发生了什么?我在哪里可以找到有关内部类继承如何工作的更多信息?

编辑我遇到了两个相当糟糕的想法; 内部类扩展外部类,内部类扩展其他静态内部类.我不确定到底发生了什么以及我应该如何重构这一点.我最终只是将内部类拉出来并将它们封装在外部类中.

java inheritance inner-classes

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

调试和错误的log4j布局不同?

在log4j中,有没有办法让logger.error("")和logger.debug("")包含不同的输出布局?

我想错误包括方法名称和行号,这两者都会降低应用程序性能.

编辑:

添加apache-log4j-extras后,以下配置文件有效.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd" >

<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">

    <appender name="WARNINGS" class="org.apache.log4j.DailyRollingFileAppender">
        <param name="File" value="warnings.log"/>
        <param name="DatePattern" value="'.'yyyy-MM-dd"/>
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="%d{yyyy-MMM-dd HH:mm:ss} %-5p %c - %m%n%n"/>
        </layout>
        <filter class="org.apache.log4j.filter.LevelRangeFilter">
            <param name="LevelMin" value="DEBUG"/>
            <param name="LevelMax" value="WARN"/>
        </filter>
    </appender>

    <appender name="ERRORS" class="org.apache.log4j.DailyRollingFileAppender">
        <param name="File" value="errors.log"/>
        <param name="DatePattern" value="'.'yyyy-MM-dd"/>
        <layout class="org.apache.log4j.PatternLayout">
            <!-- %M for method name , %L for line number  -->
            <param name="ConversionPattern" value="%d{yyyy-MMM-dd HH:mm:ss} %-5p %c %M %L - %m%n%n"/>
        </layout>
        <filter class="org.apache.log4j.filter.LevelRangeFilter">
            <param …
Run Code Online (Sandbox Code Playgroud)

java configuration logging log4j

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

JUnit和RMI应用程序的最佳实践,RMI Registry

我正在为RMI客户端应用程序编写一组系统集成测试.我想在JUnit 3.8.2中启动RMI服务器,然后运行这些测试.有没有人这样做过?

我在使用main的pojo中使用类似的东西:


    import java.rmi.registry.*;

    ....

    //setup
    try {

        java.rmi.registry.LocateRegistry.createRegistry(1099);
        System.out.println("RMI registry ready.");

        this.StartMyServer();

        // client set up

        MyClient m = null;
        m = (MyClient) Naming.lookup("//MyHost/MyServer", m);

        // tests here

    } catch (MyClientException me) {

        System.out.println("MyClient fall down go boom");

    } catch (MyServerException me) {

        System.out.println("MyServer fall down go boom");

    } catch (Exception e) {

        System.out.println("Exception starting RMI registry:");

    } 


将此转换为junit测试的最佳方法是什么,因此注册表只启动一次,并且仅在注册表实际启动时才运行测试?我想避免让测试类有一个测试方法,其中包含来自main的所有测试代码,这是我在来到这里之前发现的.

另外,在编写测试时应该注意什么?任何RMI测试都有问题吗?

java junit rmi rmiregistry

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

将相对目录添加到java类路径并使用ClassLoader().getResourceAsStream("")

是否可以将相对目录(即foo/bar/plugh)添加到java类路径并使用

InputStream in = getClassLoader().getResourceAsStream("xyzzy.properties");
Run Code Online (Sandbox Code Playgroud)

要获取foo/bar/plugh/xyzzy.properties?

我的classpath看起来像这样:

foo.jar;foo/bar/plugh;xyz.jar 
Run Code Online (Sandbox Code Playgroud)

我可以使用foo和xyz jar中的类和资源,但不能使用plugh目录.在这些情况下,in始终为null.

我不能让这个工作,我不确定这是否只是不支持,我错过了一些微妙或我做错了什么.我需要使用绝对路径吗?

java directory classpath classloader

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

可以使用macrubyc编译的ruby代码使用gem

MacRuby 0.5包含一个基于LLVM构建的ruby编译器,名为macrubyc.

有谁知道是否有可能从编译的代码动态加载宝石?或者编译宝石并将它们链接起来?这是计划好的吗?或者编译代码如何能够一般地使用宝石.

ruby rubygems llvm macruby macrubyc

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

编程实践

我决定在今年夏天获得一些项目的经验.由于市场上的本地需求,我更愿意学习Java(标准版和企业版).但我甚至无法猜想要做什么样的项目.最近我对C有了一些想法.随着CI可以为巨大的Linux项目做出贡献.我并不是说我的工作肯定会被提交.我可以得到代码并练习它.但是,在我所在地区找到好工作是不对的.在JavaSE的情况下,有机会开发一些桌面应用程序.但考虑到JavaEE,我会陷入困境.我会非常感谢你的答案.

language-agnostic

5
推荐指数
2
解决办法
587
查看次数

Dalvik错误与JRuby与SL4A

尝试在SL4A上运行jruby脚本时出现此错误

Dalvik VM unable to locate class 'org/jruby/Main' 
java.lang.NoClassDefFoundError: org.jruby.Main
Run Code Online (Sandbox Code Playgroud)

我看到安装了jruby.jar文件

# find org.ruboto.sl4a/
org.ruboto.sl4a/
org.ruboto.sl4a/jruby_extras.zip
org.ruboto.sl4a/extras
org.ruboto.sl4a/extras/jruby
org.ruboto.sl4a/extras/jruby/jruby.jar
org.ruboto.sl4a/jruby_scripts.zip
org.ruboto.sl4a/dalvik-cache
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?这是权限问题吗?我有一个运行CM7的root电话

android jruby dalvik sl4a ruboto

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