2012-02-17 4 views
1

J'ai un fichier Java à exécuter dans le serveur LInux. J'écris un script pour ça. Ma question est à l'intérieur du script dois-je mentionner le nom de chaque pot comme indiqué ci-dessous CLASSPATH =./Lib/log4j-1.2.8.jar: ./lib/mail.jar: ./lib/javax.servlet. jar: ./lib/ojdbc.jar: ./lib/ activation.jar: ./lib/commons-logging.jar :.Linux: Définition de CLASSPATH dans le script Linux

ou puis-je mentionner que * .jar directement comme indiqué

CLASSPATH =./Lib/*. Jar

S'il vous plaît partager vos entrées. Merci

+0

Je pense que vous ne pouvez pas utiliser des caractères génériques. Donc c'est la première façon. Néanmoins, si c'est un projet maven, il y a maven-lib plugin qui génère un classpath var dans le manifeste et inclut toutes les dépendances qui sont requises. De cette façon, vous n'avez pas besoin de gérer cela vous-même. – hovanessyan

+0

Merci, mais ce n'est pas un projet Maven – Kiran

+0

également vérifier cela http://stackoverflow.com/q/219585/1007273 – hovanessyan

Répondre

2

Voici un script simple:

CLASSPATH= 
for f in ./lib/*; do CLASSPATH=$f:$CLASSPATH;done; 
CLASSPATH=$CLASSPATH. 

Il peut être étendu pour mieux voir:

CLASSPATH= 
for f in ./lib/* 
do 
    CLASSPATH=$f:$CLASSPATH 
done 
CLASSPATH=$CLASSPATH. 
+0

Merci beaucoup. – Kiran

+0

Vous ne savez pas, mais les caractères joker sont-ils acceptés? – Kiran

+0

Pouvez-vous expliquer en détail? Je ne peux pas comprendre ce que vous demandez? – core1024