小编dja*_*fan的帖子

Windows批处理文件可以确定自己的文件名吗?

Windows批处理文件可以确定自己的文件名吗?

例如,如果我运行批处理文件C:\ Temp\myScript.bat,myScript.bat中是否有可以确定字符串"myScript.bat"的命令?

windows cmd batch-file

98
推荐指数
4
解决办法
8万
查看次数

如何使用一个log4j配置文件创建2个单独的日志文件?

我无法弄清楚如何配置我的log4j,以便我的debugLog和我的reportLog彼此分开(不是附加的).为什么,在下面的配置中,reportsLog始终为空?

log4j.rootLogger=TRACE, stdout, debugLog

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d [%24F:%t:%L] - %m%n

log4j.appender.debugLog=org.apache.log4j.FileAppender
log4j.appender.debugLog.File=logs/debug.log
log4j.appender.debugLog.layout=org.apache.log4j.PatternLayout
log4j.appender.debugLog.layout.ConversionPattern=%d [%24F:%t:%L] - %m%n

log4j.reportsLog=DEBUG,reportsLog
log4j.appender.reportsLog=org.apache.log4j.FileAppender
log4j.appender.reportsLog.File=logs/reports.log
log4j.appender.reportsLog.layout=org.apache.log4j.PatternLayout
log4j.appender.reportsLog.layout.ConversionPattern=%d [%24F:%t:%L] - %m%n
Run Code Online (Sandbox Code Playgroud)

这是我的Java代码:

package test;

import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;

public class HelloLogger {

    static final Logger debugLog = Logger.getLogger("debugLog");
    static final Logger resultLog = Logger.getLogger("reportsLog");

    public static void main(String[] args) {
        PropertyConfigurator.configure("log4j.properties");
        debugLog.debug("Hello debugLog message");   
        resultLog.debug("Hello reportsLog message");
    }   
}
Run Code Online (Sandbox Code Playgroud)

java logging log4j

72
推荐指数
2
解决办法
11万
查看次数

如何将详细垃圾收集输出重定向到文件?

如何将详细垃圾收集输出重定向到文件?Sun的网站显示了Unix的一个例子,但它不适用于Windows.

java garbage-collection jdk1.5

68
推荐指数
4
解决办法
12万
查看次数

如何捕获传递给Groovy脚本的参数?

我刚开始使用Groovy.我找不到任何关于如何处理Groovy脚本的参数的例子,所以我自己攻击了这个方法.必须有更好的方法来做到这一点?如果是这样,我正在寻找这种更好的方式,因为我可能忽视了这一点.

import groovy.lang.Binding;
Binding binding = new Binding();
int x = 1
for (a in this.args) {
  println("arg$x: " + a)
  binding.setProperty("arg$x", a);
  x=x+1
}
println binding.getProperty("arg1")
println binding.getProperty("arg2")
println binding.getProperty("arg3")
Run Code Online (Sandbox Code Playgroud)

java groovy command-line-arguments command-line-parsing

65
推荐指数
4
解决办法
8万
查看次数

如何在Java,Eclipse中找到Current项目的路径?

我试图以编程方式在Java中找到当前运行/调试项目的路径,我查看了谷歌,我发现了什么System.getProperty("user.id"),这没有让我得到项目的路径.

我知道Environment.currentDirectoryC#中的命令给出了当前运行/调试项目的路径,所以我确信在Java中也必须有类似的方式.

所以我问是否有人可以告诉我或给我一个代码,以编程方式找到当前运行/调试项目的路径?

编辑:我正在编写插件,用eclipse开始加载.插件为eclipse的工作台添加了一个按钮,当我点击按钮时,在插件的代码中搜索当前目录路径.

我的目的是,当我调试项目然后单击按钮时,会弹出一个窗口显示调试项目的路径,谢谢

java eclipse path

52
推荐指数
5
解决办法
18万
查看次数

解析Java命令行程序的参数

如果我想解析这个怎么办:

java MyProgram -r opt1 -S opt2 arg1 arg2 arg3 arg4 --test -A opt3
Run Code Online (Sandbox Code Playgroud)

我想在我的程序中得到的结果是:

regular Java args[]  of size=4
org.apache.commons.cli.Options[]  of size=3
org.apache.commons.cli.Options[] #2 of size=1
Run Code Online (Sandbox Code Playgroud)

我更喜欢使用Apache Commons CLI,但文档对我上面提到的案例有点不清楚.具体来说,文档没有告诉您如何处理我在下面指定的第三种类型的选项:

1. options with a "-" char
2. options with a "--" char
3. options without any marker, or "bare args"
Run Code Online (Sandbox Code Playgroud)

我希望Apache Commons CLI可以工作,但是如果那些args没有选项前缀,STILL能够将常规args传递给程序.也许它确实如此,但是当我通读它时,文档并没有说出来......

java command-line-interface args

49
推荐指数
5
解决办法
14万
查看次数

如何判断它是否使用zsh或bash

我有一个关于如何分辨用户使用的shell的问题.假设一个脚本,如果用户正在使用zsh,那么将PATH放到他的.zshrc,如果使用bash应该放入.bashrc.并相应地设置rvmrc.

#!/usr/bin/env bash
export PATH='/usr/local/bin:$PATH'" >> ~/.zshrc
source ~/.zshrc
Run Code Online (Sandbox Code Playgroud)

我尝试过以下但不起作用:(

if [[ $0 == "bash ]]; then
  export PATH='/usr/local/bin:$PATH'" >> ~/.bashrc
elif [[ $0 == "zsh" ]]; then
  export PATH='/usr/local/bin:$PATH'" >> ~/.zshrc
fi

# ... more commands ...

if [[ $0 == "bash ]]; then
  [[ -s '/Users/`whoami`/.rvm/scripts/rvm' ]] && source '/Users/`whoami`/.rvm/scripts/rvm'" >> ~/.bashrc
  source ~/.bashrc
elif [[ $0 == "zsh" ]]; then
  [[ -s '/Users/`whoami`/.rvm/scripts/rvm' ]] && source '/Users/`whoami`/.rvm/scripts/rvm'" >> ~/.zshrc
  source ~/.zshrc
fi
Run Code Online (Sandbox Code Playgroud)

bash zsh sh

49
推荐指数
5
解决办法
4万
查看次数

编译时如何使用通配符包含JAR文件?

我在java文件(MyRtmpClient.java)中有以下内容:

import org.apache.mina.common.ByteBuffer;
Run Code Online (Sandbox Code Playgroud)

并且ByteBuffer位于JAR文件中(当然具有正确的目录结构).我需要的jar文件和其他文件与.java文件位于同一目录中.

然后我用这行编译:

javac -cp ".;*.jar" MyRtmpClient.java
Run Code Online (Sandbox Code Playgroud)

但我得到错误:

MyRtmpClient.java:3: package org.apache.mina.common does not exist
import org.apache.mina.common.ByteBuffer;

如何在项目中包含jar文件?

java packages compilation jar

46
推荐指数
5
解决办法
9万
查看次数

使用Windows批处理脚本计数FOR循环

有谁能解释一下?我可以使用Windows命令提示符循环计数,使用此方法:

SET /A XCOUNT=0
:loop
SET /A XCOUNT+=1
echo %XCOUNT%
IF "%XCOUNT%" == "4" (
  GOTO end
) ELSE (
  GOTO loop
)
:end
Run Code Online (Sandbox Code Playgroud)

但是这种方法不起作用(它为文件中的每一行打印出"1").它的作用就像变量超出范围:

SET /A COUNT=1
FOR /F "tokens=*" %%A IN (config.properties) DO (
  SET /A COUNT+=1
  ECHO %COUNT%
)
Run Code Online (Sandbox Code Playgroud)

windows cmd batch-file

31
推荐指数
2
解决办法
13万
查看次数

Git项目,全局和系统变量的优先级是什么?

Git项目,全局和系统变量的优先级是什么?

所以,如果我在我的.gitconfig文件中全局设置配置,哪个配置会覆盖它:它是项目级配置还是系统级配置?

git git-config

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