2011-04-12 171 views
1

我有一个类(称为LogCopy),我写了这个类,当我在Eclipse中运行它时,它应该有4个参数,以正确的格式,惊喜,惊喜,运行得非常好。麻烦的是,我需要将其加载到一个实时系统&,这是它变得松动的地方。参数是2个日期时间戳& 2个文件名。它正在开发一个Windows系统上执行&所以我提供与测试参数有:为什么我的程序在eclipse中工作,但是当与maven冲突时会生成“文件名,目录名称或卷标语法不正确”错误?

2011-03-20 | 10:21:20 2011-03-20 | 10:21:21女性:\ somepath \ logfile.txt F:\ somepath \ logfileoutput.txt

现在,将它们放入Eclipse的Run Configuration中会得到所需的响应。如果我删除了一个参数或者输入了一个不是有效日期或可读输入文件或锁定输出文件的值,它会抛出异常,因为我已经设置好了,所有这些都很好。但是,当我罐子它使用maven,并与4个PARMS运行它,他们应该是我得到的神秘

文件名,目录名或卷标语法不正确

但奇怪的是我仍然得到预期错误消息时,我故意搞乱了参数,所以

java -jar LogCopy-0.0.1-SNAPSHOT-jar-with-dependencies.jar parm1 parm2 parm3 parm4 

得到了这是错误的有关参数的每一件事情的错误日志条目 - 即DAT es不是有效的日期,文件名不是指可以使用的文件,而是指令语法的一小部分,以便用户可以更正他们输入的内容。

有效的文件名是如何给这个奇怪的错误信息?我试过以各种格式输入文件名,使用正斜杠,反斜杠,反斜杠,各种各样,但它们都给出了相同的(非我编程的)错误信息。是什么赋予了?

+0

您正在部署的操作系统是什么? – 2011-04-12 11:20:05

+1

你知道错误信息来自哪里吗?你从哪里得到一个异常? (你是否放弃了你的代码中的任何异常?)你是如何执行你以上的命令 - 从命令提示符窗口,对吗? – 2011-04-12 11:20:35

+0

弗兰克 - 这一切都在Windows上。 – 2011-04-12 13:20:22

回答

0

我怀疑它 - &你们都会认为我对这&一直是一个总noob,你会是对的。其中一个“D'OH !!”时刻。原来,PARMS只有通过作为在双引号字符串,所以正常工作:

java -jar LogCopy.jar "2011-05-04|10:05:23" "2011-05-04|10:05:26" "C:\dir\fromfile.txt" "C:\dir2\tofile.txt" 

作品,而没有双引号的Java错误解析&似乎把日期作为文件名的一部分参数。

相关问题