我正在设置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
是否有衡量代码重构的客观指标?
在重构之前和之后运行findbugs,CRAP或checkstyle是检查代码是否实际改进而不仅仅是改变的有用方法吗?
我正在寻找可以捕获的趋势,这些趋势可以帮助我们改进代码审查流程,而不会浪费时间在简单的个人偏好上改变代码.
将方法或函数作为数据传递的常用方法有哪些有用的定义,例如:
language-agnostic delegates closures function-pointers dynamic-proxy
我很困惑为什么这是允许的
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)
这里发生了什么?我在哪里可以找到有关内部类继承如何工作的更多信息?
编辑我遇到了两个相当糟糕的想法; 内部类扩展外部类,内部类扩展其他静态内部类.我不确定到底发生了什么以及我应该如何重构这一点.我最终只是将内部类拉出来并将它们封装在外部类中.
在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) 我正在为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测试都有问题吗?
是否可以将相对目录(即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.
我不能让这个工作,我不确定这是否只是不支持,我错过了一些微妙或我做错了什么.我需要使用绝对路径吗?
MacRuby 0.5包含一个基于LLVM构建的ruby编译器,名为macrubyc.
有谁知道是否有可能从编译的代码动态加载宝石?或者编译宝石并将它们链接起来?这是计划好的吗?或者编译代码如何能够一般地使用宝石.
我决定在今年夏天获得一些项目的经验.由于市场上的本地需求,我更愿意学习Java(标准版和企业版).但我甚至无法猜想要做什么样的项目.最近我对C有了一些想法.随着CI可以为巨大的Linux项目做出贡献.我并不是说我的工作肯定会被提交.我可以得到代码并练习它.但是,在我所在地区找到好工作是不对的.在JavaSE的情况下,有机会开发一些桌面应用程序.但考虑到JavaEE,我会陷入困境.我会非常感谢你的答案.
尝试在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电话
java ×4
agile ×1
android ×1
classloader ×1
classpath ×1
closures ×1
code-metrics ×1
dalvik ×1
delegates ×1
directory ×1
hudson ×1
inheritance ×1
jenkins ×1
jruby ×1
junit ×1
llvm ×1
log4j ×1
logging ×1
macruby ×1
macrubyc ×1
maven-2 ×1
refactoring ×1
rmi ×1
rmiregistry ×1
ruboto ×1
ruby ×1
rubygems ×1
sl4a ×1