Dúvida parametros do main

Fala galera, estou com um problema aqui. É assim:

Tenho uma aplicação que será executada:

java -jar teste.jar -parametro1 valor1 -parametro2 valor2 - parametro3 valor3 … -parametroN valorN

Acho que já deu pra sacar né?

Então, não tenho como passar nada além do que está descrito acima, a aplicação irá receber n parametros, indeterminados, que podem ser de n tipos e ter n formatos diferentes, desde data até string.

No meu caso, o args fica com

-parametro1 … na posição 0
valor1 … na posição 1
-parametroN … na posição N-1
valorN … na posição N

O que eu preciso é montar com estes valores um vetor associativo de parametros e valores que depois será usado para um sistema de relatórios.

No args, ele quebra os parametros no espaço em branco, portanto não posso ficar dependendo disso, pois sei que podem vir valores com espaços em branco.

Por fim, já dei uma boa pesquizada e não achei nada.

Também recebi umas dicas sobre a função getOpts(), que existe em C, mas que eu não conheço em java e não sei o que ela faz.

Se puderem dar uma força, agradeço.
Estou procurando bastante sobre isso, mas até agora não achei nada. :s

Tente o JArgs.

Só um detalhe, a posição 0 é reservada, se não me engano, como em outra linguagens, para o endereço do programa que está sendo executado.