2017-08-10 6 views
1

projet: cjwizard Artefacts: cjwizard et cjwizard-démonstration, à la fois la version 1.0.9Trois jours après le déploiement de Bintray, Gradle sur mon ordinateur portable ne peut pas résoudre les artefacts qui devraient être disponibles

Je viens de prendre au cours de cette projet du propriétaire original et je suis nouveau à la fois le processus de déploiement Maven et Bintray. Après avoir fait un mvn:deploy qui (selon mes logs Maven) a réussi, j'ai pu voir le pom.xml pour cjwizard ET cjwizard-demo, mais j'ai un petit projet qui utilise gradle pour essayer de tirer vers le bas les deux cjwizard et cjwizard-demo et ça échoue.

(EDIT: Je modifié mon build.gradle juste télécharger un artefact à un moment Ce projet de test simple, et il n'y a pas d'autres dépendances, autres que cjwizard.)

Mon build.gradle ressemble ce

group 'test' 
version '1.0-SNAPSHOT' 

apply plugin: 'java' 

sourceCompatibility = 1.8 

repositories { 
    mavenCentral() 
    jcenter() 
} 

dependencies { 
    compile 'com.github.cjwizard:cjwizard:1.0.9' 
} 

(je l'utilise normalement gradle sur mes propres projets. J'utilise Maven pour construire cjwizard parce que le projet a déjà été mis en place pour utiliser maven)

Je reçois une erreur indiquant que le cjwizard l'artefact ne peut pas être résolu. Même problème avec cjwizard-demo.

Est-ce que je fais quelque chose de mal?

De même, les projets open-source ne sont-ils pas éligibles au support par e-mail? En résumé, comme SteveSobol l'a mentionné dans son commentaire, pousser vers un dépôt Bintray ne pousse pas à JCenter. En résumé,

+0

Supposons que votre ordinateur soit connecté à Internet et que vous puissiez accéder à [maven] (http://mvnrepository.com/), il se peut qu'un pare-feu ou un programme antivirus bloque le téléchargement du fichier jar. –

+0

Réponse logique, mais je n'ai aucun problème à télécharger des artefacts de Maven Central. Je peux créer un repo Maven local et le coller sur un serveur web quelque part et je peux télécharger à partir de ce repo aussi, si je donne à Gradle l'URL du repo. ET je peux télécharger des versions antérieures de cjwizard - celles que je n'ai pas téléchargées sur Bintray, ce qui est la raison pour laquelle je devine que j'ai corrigé quelque chose avec * ce * téléchargement.J'ai utilisé mvn deploy sans arguments. – SteveSobol

+0

Alors ... Un employé de soutien de JFrog a répondu à mon courriel (et s'est excusé pour le retard, puisqu'il a fallu quelques jours). Il a proposé de coder en dur l'URL pour les bibliothèques, et je pensais "mais pourquoi je ne peux pas simplement utiliser jcenter" et puis j'ai découvert que pousser à bintray ne lie pas automatiquement votre projet à jcenter. :) Toujours obtenir des choses aplanies, mais il semble que ce soit le problème. Je sais que mon projet n'est pas aimé jcenter parce qu'il n'apparaît pas sur jcenter.bintray.com. Oops. – SteveSobol

Répondre

3

JCenter est un référentiel public bien connu, mais il est l'un des nombreux sous-systèmes gérés par Bintray. Dans Bintray, tout le monde peut ouvrir un référentiel Open Source.

Si vous avez un dépôt que vous voulez travailler avec ce qui est pas maven central ou JCenter vous pouvez connecter votre outil de construction pour facilement, voir le doc:

Aller àhttps://bintray.com/cjwizard/CJWizard et cliquez sur: SET ME UP

Il se trouve dans le coin supérieur droit de la page.

Ou procédez comme suit:

Pour résoudre avec gradle, modifier votre build.gradle:

repositories { 
    maven { 
     url "http://dl.bintray.com/cjwizard/CJWizard" 
    } 
} 

Pour résoudre avec Maven, modifier votre settings.xml:

<?xml version="1.0" encoding="UTF-8" ?> 
<settings xsi:schemaLocation='http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd' 
      xmlns='http://maven.apache.org/SETTINGS/1.0.0' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'> 

    <profiles> 
     <profile> 
      <repositories> 
       <repository> 
        <snapshots> 
         <enabled>false</enabled> 
        </snapshots> 
        <id>bintray-cjwizard-CJWizard</id> 
        <name>bintray</name> 
        <url>http://dl.bintray.com/cjwizard/CJWizard</url> 
       </repository> 
      </repositories> 
      <pluginRepositories> 
       <pluginRepository> 
        <snapshots> 
         <enabled>false</enabled> 
        </snapshots> 
        <id>bintray-cjwizard-CJWizard</id> 
        <name>bintray-plugins</name> 
        <url>http://dl.bintray.com/cjwizard/CJWizard</url> 
       </pluginRepository> 
      </pluginRepositories> 
      <id>bintray</id> 
     </profile> 
    </profiles> 
    <activeProfiles> 
     <activeProfile>bintray</activeProfile> 
    </activeProfiles> 
</settings> 
+0

Merci. Il ne m'est pas venu à l'idée d'utiliser l'URL dans mon build.gradle. Je devais parcourir mes courriels pour obtenir des détails (parce que je ne m'en souviens pas) mais en discutant avec l'équipe de soutien de JFrog, j'ai découvert que le problème que j'avais était similaire à [cette question SO] (https://stackoverflow.com/questions/46260212/linking-bintray-package-to-jcenter), mais puisque gradle fonctionne si je le pointe directement sur le repo de cjwizard, je ne pense pas qu'il soit nécessaire de s'inquiéter à ce sujet. – SteveSobol