この呼び出しが機能します。javaagentオプションはチルダを展開しませんが、なぜそうではありませんか
java -ea -cp ~/Documents/workspace/export/testProject1/"*" -javaagent:/home/jack/Documents/workspace/export/testProject1/SizeOf.jar testProject1.Tester
この呼び出しは失敗します。
java -ea -cp ~/Documents/workspace/export/testProject1/"*" -javaagent:~/Documents/workspace/export/testProject1/SizeOf.jar testProject1.Tester
失敗は次のようになります。
Error opening zip file or JAR manifest missing :
~/Documents/workspace/export/testProject1/SizeOf.jar
Error occurred during initialization of VM
agent library failed to init: instrument
なぜ-javaagent
オプションは、チルダ(~
)を展開するために失敗しません。これはLinux上にあった。
これとは対照的に、-classpathまたは-cpには、トークンの先頭にチルダが付いた引数があるため、シェルはそれを見て展開します。ありがとう。 – H2ONaCl