[RESOLVIDO] Colocar as classes padrao do java 7 dentro do JAR (Eclipse)

Ola pessoal.
Nao consegui achar algo q me possa ajudar nesse caso.
Eu fiz um projeto compilado com o java 6 mas eu uso algumas classes do java 7. Quando eu crio o jar através do export do eclipse, as classes do java 7 nao sao importadas para dentro do jar (por exemplo java.nio.file.Paths). Eu ja usei as tres opçoes do eclipse (extract required libraries into generated JAR, package required libraries into generated JAR e Copy required libraries into a subfolder next to the generated JAR) e nenhuma inclui as classes do java 7. Alguém pode me ajudar?

Valeu

Você não precisa (e nem deve) fazer isso. Por que você quer colocar as classes do Java (que já vêm com a própria JVM) no seu JAR?

Por que eu fiz esse programa p rodar com o jre 6, porém eu uso algumas classes do 7. Pensei q eu pudesse fazer isso.

Nesse caso você deve usar o jre 7 ou remover as dependências com as classes do Java 7.

As classes do pacote java.nio.file são escritas em JNI (código nativo) e requerem um ambiente Java 7 para rodarem.

Ou você muda seu programa para não usar essas classes, ou você atualiza a JVM/JRE desse ambiente.

[quote=Skim]
Eu fiz um projeto compilado com o java 6 mas eu uso algumas classes do java 7.[/quote]
Primeiro que se você incluiu qualquer coisa que só existe no java 7 (como multi catch), teu projeto nem compila para a versão 6, ou seja, você não pode criar um projeto, compilar e gerar um .jar se este não estiver 100% compatível (e isso significa utilizar apenas o que existe na versão) com a versão específica do java.
Trocando em miúdos, você criou um projeto java 7.

[quote=drsmachado][quote=Skim]
Eu fiz um projeto compilado com o java 6 mas eu uso algumas classes do java 7.[/quote]
Primeiro que se você incluiu qualquer coisa que só existe no java 7 (como multi catch), teu projeto nem compila para a versão 6, ou seja, você não pode criar um projeto, compilar e gerar um .jar se este não estiver 100% compatível (e isso significa utilizar apenas o que existe na versão) com a versão específica do java.
Trocando em miúdos, você criou um projeto java 7.[/quote]
No eclipse eu coloquei p compliar c o java 6. Acho estranho essa coisa q eu posso usar as classe do java 7, compilar em java 6, criar um jar e depois nao poder usar.

[quote=Skim][quote=drsmachado][quote=Skim]
Eu fiz um projeto compilado com o java 6 mas eu uso algumas classes do java 7.[/quote]
Primeiro que se você incluiu qualquer coisa que só existe no java 7 (como multi catch), teu projeto nem compila para a versão 6, ou seja, você não pode criar um projeto, compilar e gerar um .jar se este não estiver 100% compatível (e isso significa utilizar apenas o que existe na versão) com a versão específica do java.
Trocando em miúdos, você criou um projeto java 7.[/quote]
No eclipse eu coloquei p compliar c o java 6. Acho estranho essa coisa q eu posso usar as classe do java 7, compilar em java 6, criar um jar e depois nao poder usar.[/quote]

Isso não é estranho. O que você fez confusão foi o uso das classes na compilação. Uma coisa é o alvo da compilação (no caso, a versão do Java) e outra é o classpath usado na compilação (no caso, a API Java 7).

Você pode compilar um projeto em Java 5 usando a API da versão 6 como parte do classpath. Como não houveram modificações na sintaxe da linguagem da versão 5 para a 6, você só terá que garantir que não usou nenhum recurso da API da versão 6 que não existe na versão 5 (como o Arrays#copyOf, por exemplo). Eu não recomendaria isso, mas é possível.

No seu caso, se o projeto compilou para a versão 6, significa que você não usou nenhum recurso novo de sintaxe do Java 7.