开发者

Java command line option using @ symbol

When invoking the 'java' process, I'm almost certain there is a way to have Java expand the contents of a file into a set of additional command-line arguments using the "@开发者_开发知识库" symbol.

Something like:

java @myfile -cp foo -Dbar=baz com.mydomain.MyApp

And then the contents of "myfile" will be used as additional parameters.

It doesn't seem to work, but I'm certain that something very similar used to work. I've searched high and low but can't find anything on the InterNETs to help. Its driving me nuts! Someone please refresh my memory or lock me up.


It's probably the compiler you're thinking of:

javac [ options ] [ sourcefiles ] [ classes ] [ @argfiles ]

http://java.sun.com/javase/6/docs/technotes/tools/solaris/javac.html


I've never seen anything like that in any JVM I've used.

Are you sure it wasn't a specific Java application, e.g. Ant or something similar?


@ doesn't mean anything from the Java perspective. However in a DOS .BAT file it indicates that the files contained in the referenced file will be used.

e.g. DEL @FILENAME.TXT means that DOS will delete the files listed in FILENAME.TXT

I suspect that's what you're thinking of.


java VM takes options outlined in this document. I may be wrong but I never see anything what you described. So it could be something to do with shell you are using


Shell expansion is to what you're referring?

jvmargs=-Xmx786m -Dfoo=bar
java $jvmargs com.foo.Bar

.

set jvmargs=-Xms786m -Dfoo.bar
java %jvmargs% com.foo.Bar


It is a quite common practice/convention, but I believe you have to implement it yourself (ie. get the filename, open it, read and parse it...).

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜