J'ai un projet Roo Spring Roo (essentiellement un projet maven). Je veux ajouter Dropbox SDK au projet, problème est que ce n'est pas dans Maven. J'ai ajouté les fichiers suivants Il a résolu l'erreur de compilation, mais lorsque j'exécute le projet, dans Spring Tool Suite, les fichiers JAR ne sont pas ajoutés au dossier LIB de guerre. Comment puis-je faire maven ajouter mes fichiers de jar externes à mon dossier LIB de guerre? P> Je ne veux pas installer le pot à Maven depuis, je dois l'installer dans toutes les machines utilisant le projet qui utilise le projet p> p>
7 Réponses :
Je recommande de créer un référentiel "tiers" dans un serveur de référentiel Maven telle que Nexus ou Artefactory, et télécharger le pot à présent. Même si cela signifie mettre le pot dans Maven, au moins avec un serveur de référentiel, il est disponible pour tous ceux qui construisent votre application. P>
Je ne veux pas courir de serveur supplémentaire pour le repo, existe-t-il un repo public que je peux utiliser?
Même si vous triez la dépendance Dropbox, vous allez frapper de nombreux autres problèmes sans utiliser de référentiel interne. Si vous ne voulez pas gérer un serveur supplémentaire, vous pouvez toujours utiliser la version SaaS - JFROG.com /art-online.php
Voir Stackoverflow.com/questions/10533131/... - le Dropbox SDK n'a pas de référentiel public public pour le moment.
Je ne recommande pas cette approche, mais vous pouvez ajouter une certaine configuration POM pour installer la dépendance 3ème partie dans un profil séparé: Il y a deux profils ici: La seconde est activée. Par défaut, et ajoute la SDK Dropbox comme une dépendance. P> Pour être honnête, cela n'est pas beaucoup mieux que d'exécuter P> Installez-les dépendances code> et Construire code>. Le premier installe la dépendance code> Dropbox-sdk CODE> dans votre référentiel Maven et doit être exécutée une fois sur chaque machine comme suit: p> mvn install:install-file -Dfile=src/main/lib/dropbox-java-sdk-1.3.1.jar -DgroupId=com.dropbox -DartifactId=dropbox-sdk -Dversion=1.3.1 -Dpackaging=jar
J'ai compris comment utiliser dans le référentiel de projets, ce problème fixé
J'ai finalement trouvé une solution soignée, qui est beaucoup plus facile à mettre en œuvre. Vous ajoutez un référentiel en projet dans le projet Java et liez-y dans le POM.
Vous ajoutez un référentiel en projet dans Maven comme ceci: p> puis crée une structure de dossier dans le dossier racine de votre projet qui ressemble à quelque chose comme ça P > et ajoutez la dépendance comme vous le feriez normalement. p> Cette approche a le moins de code et de travail requis, et si cette bibliothèque est jamais ajoutée dans un référentiel Maven, vous pouvez toujours supprimer votre référentiel en projet. P> http://bit.ly/ogvhsn p> p>
très agréable! Pour obtenir un groupe comme "com.some.groupid.with.dots" Structure de répertoire d'utilisation de travail "Code> com / Certains / Groupid / avec / points / Artifactide / Version /... Code>
Bonne approche. Fonctionne bien sur Linux. Mais Windows craint. Défaut de trouver com.project.maven.plugin: libname: JAR: 7.20.1.1 Dans le fichier: // D: \ Workspace \ MyApplication / Lib B> - @nathan Hughes
Salut, il y a quelque chose qui ne va pas avec le lien, pouvez-vous le remplacer un travail?
Je sais que je suis vraiment en retard mais je me demandais pourquoi vous ne mettriez pas dans le pot dans le repo local dans le fichier .m2 et ajoutez une référence à la POM de là? P>
Le problème nécessite une résolution consiste à rendre le projet portable, quelqu'un d'autre consulter ce projet n'aura pas de bocal dans leur repo local
changer le chemin lib libéré à: SRC / Main / WebApp / Web-Inf / Lib P> LI>
dans pom.xml: p>
Il y a une solution beaucoup plus facile, qui est définie webresource dans le plugin. Par la solution, vous pouvez ajouter tous les fichiers de votre disque local à la guerre! Un échantillon est comme ci-dessous,
Le meilleur moyen de résoudre ce problème consiste à ajouter ces fichiers JAR locaux au dossier Web-INF / LIB. Vous trouverez tous ces pots emballés dans votre fichier de guerre final. p>
C'est aussi simple que possible, et cela fonctionne. Pourquoi personne d'autre a-t-elle suggéré cela?