2010-09-17 3 views
2

J'ai un programme-jouet qui s'appelle Test.class. Il accède à une classe dans un jar appelé myjar.jar. Ce fichier est dans ma variable CLASSPATH définie dans le cadre de mon environnement Windows. Lorsque je tape echo% CLASSPATH%, je vois C: \ myclasses \ myjar.jar. Quand j'exécute mon programme java TestQuestion Classpath simple utilisant avec des bocaux

ça fonctionne bien.

Mais si j'empaquette le code comme un pot et essayez d'exécuter

java jar Test.jar

Il ca Il ne peut pas trouver mon chemin de classe. Je sais que cela a une solution simple.

Pouvez-vous m'aider s'il vous plaît.

Répondre

3

Lorsque -jar (ou -cp ou -classpath) argument est été utilisé, le %CLASSPATH% sera ignoré. Au lieu de cela, l'entrée Class-Path du fichier JAR /META-INF/MANIFEST.MF sera utilisée. Vous souhaitez placer le chemin JAR relatif à l'autre fichier JAR. Par exemple.

Class-Path: myjar.jar 

L'exemple ci-dessus prévoit la myjar.jar d'être dans le même dossier que le fichier JAR que vous souhaitez exécuter.

Une alternative consiste à empaqueter le fichier JAR tiers dans votre fichier JAR. Dans par exemple Eclipse, vous pouvez le faire.

alt text

0

Tout d'abord, je ne se souciaient pas ce genre de choses moi-même plus (je aussi) et que mon IDE (Netbeans/Eclipse) figure ce genre de choses pour vous sortir. BTW J'espère déjà que vous utilisez un IDE parce que cela rend la programmation en Java beaucoup plus amusante.

Ensuite, je vous conseille d'apprendre un outil de construction comme maven.