创建Java应用程序的不同构建版本

Zil*_*ilk 1 java ant debugging

我正在构建一个Java应用程序(使用带有build.xml和build.property文件的Ant).现在我希望能够创建一个不同的"调试"版本,它可以向System.err打印几条诊断消息.这是通过这样的(简化)实现的:

private static final boolean DEBUG = false;

public static void debug (String msg) {
    if (DEBUG) {
        System.err.println(msg);
    }
}
Run Code Online (Sandbox Code Playgroud)

是否有可能在构建时影响DEBUG常量的值?我想我正在寻找的是C-preprocessor定义的Java等价物.理想情况下,我在build.xml文件中有一个不同的构建目标,它将DEBUG设置为true并创建一个myapp-debug.jar作为输出.

相关的用法是应用程序使用的配置文件的名称.这也在源代码中指定为静态常量,但我更喜欢在构建时调整它.

对不起,如果这对你来说很明显,我不是专家:)

duf*_*ymo 6

如果这是您遇到的唯一问题,我建议使用log4j.

您可能还有其他设置,例如数据库和队列连接等.这些设置都应该外部化为可根据环境而变化的配置.