Domanda

Ho bisogno biblioteca javax.comm quando si costruisce il mio progetto sul nostro server di build Hudson con Maven. Nel mio file progetti pom.xml ho la dipendenza in questo modo:

<dependency>
    <groupId>javax.comm</groupId>
    <artifactId>comm</artifactId>
    <version>2.0.3</version>
</dependency>

Inoltre ho letto da qualche parte che avrei più fortuna con javax lib di se ho inserito il repository:

    <repository>
        <id>java.net repository</id>
        <url>http://download.java.net/maven/2</url>
    </repository>

che ho fatto. Resto della mia pom.xml è abbastanza standard e minimalista.

Quando provo ad installare sul server di build ottengo:

Downloading: [company repo]/content/groups/public//javax/comm/comm/2.0.3/comm-2.0.3.jar
[INFO] Unable to find resource 'javax.comm:comm:jar:2.0.3' in repository java.net repository (http://download.java.net/maven/2)
Downloading: [company repo]/content/groups/public//javax/comm/comm/2.0.3/comm-2.0.3.jar
[INFO] Unable to find resource 'javax.comm:comm:jar:2.0.3' in repository central (http://repo1.maven.org/maven2)
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Failed to resolve artifact.

Missing:
----------
1) javax.comm:comm:jar:2.0.3

Try downloading the file manually from: 
  http://www.sun.com/download/products.xml?id=43208d3d

Then, install it using the command: 
  mvn install:install-file -DgroupId=javax.comm -DartifactId=comm -Dversion=2.0.3 -Dpackaging=jar -Dfile=/path/to/file

Alternatively, if you host your own repository you can deploy the file there: 
  mvn deploy:deploy-file -DgroupId=javax.comm -DartifactId=comm -Dversion=2.0.3 -Dpackaging=jar -Dfile=/path/to/file -Durl=[url] -DrepositoryId=[id]

Path to dependency: 
1) com.siriusit.fisherysolution.inmcsim:InmCSim:jar:1.0-SNAPSHOT
2) javax.comm:comm:jar:2.0.3

----------

Che cosa sto facendo di sbagliato?

-edit -

Ho finito per scaricare il comm lib java da Oracle e aveva la nostra amministrazione Maven installarlo sul nostro repository locale. Come sottolineato da risposte sotto il java comm lib non è disponibile sul repo pubbliche a causa di restrizioni di licenza di Oracle (Sun e prima di loro).

È stato utile?

Soluzione

Se si dispone di uno sguardo qui , in il 2 repository Maven "ufficiale", vedrete che nel file pom.xml per la libreria:

<project>
    <modelVersion>4.0.0</modelVersion>
    <groupId>javax.comm</groupId>
    <artifactId>comm</artifactId>
    <version>2.0.3</version>
    <name>Java Communications API</name>
    <description>
        The Java Communications API is a Java extension that facilitates developing platform-independent
        communications applications for technologies such as Smart Cards, embedded systems, and point-of-sale
        devices, financial services devices, fax, modems, display terminals, and robotic equipment.
    </description>
    <url>http://java.sun.com/products/javacomm/</url>
    <distributionManagement>
        <downloadUrl>http://www.sun.com/download/products.xml?id=43208d3d</downloadUrl>
    </distributionManagement>
    <dependencies></dependencies>
</project>

Il che significa che si dovrebbe scaricare la libreria da soli (l'URL è dato in tag <downloadUrl>), e quindi installarlo sul repository locale (o, meglio ancora, distribuirlo sul repository aziendale).

Questo accade a volte con alcune librerie (il driver JDBC Oracle è un altro esempio) che non sono disponibili per il download diretto, essenzialmente a causa di licenze specifiche ...

Altri suggerimenti

Il vaso non è disponibile nei repository pubblici, probabilmente per le licenze motivi.

Scarica il comunicazione API e distribuirlo usando

mvn deploy:deploy-file -DgroupId=javax.comm -DartifactId=comm \
   -Dversion=2.0.3  -Dpackaging=jar -Dfile=/path/to/file -Durl=[url] \
   -DrepositoryId=[id]

In realtà esperto di non trovare sui repository pubblici ...

[INFO] Impossibile trovare la risorsa 'javax.comm: comm: Vaso: 2.0.3' nel repository java.net repository (http://download.java.net/maven/2) ... [INFO] Impossibile trovare la risorsa 'javax.comm: comm: Vaso: 2.0.3' nel repository centrale (http://repo1.maven.org/maven2)

è necessario scaricare il programma da qualsiasi fonte e installare nel vostro repository locale:

mvn install:install-file -DgroupId=javax.comm -DartifactId=comm -Dversion=2.0.3 -Dpackaging=jar -Dfile=/path/to/file

o distribuirlo al repository aziendale (se ne avete uno):

mvn deploy:deploy-file -DgroupId=javax.comm -DartifactId=comm -Dversion=2.0.3 -Dpackaging=jar -Dfile=/path/to/file -Durl=[url] -DrepositoryId=[id]    

A causa delle restrizioni di licenza del pacchetto javax.comm non è disponibile in tutti i depositi pubblici, vedi qui per ulteriori detais:

http: // repo1. maven.org/maven2/javax/comm/comm/2.0.3/comm-2.0.3.pom

Il POM si offre anche l'URL di download. È necessario scaricare il vaso utilizzando il link fornito:

http://www.sun.com/download/products.xml? id = 43208d3d

e il luogo in "/javax/comm/comm/2.0.3/" nelle aziende del server repository, server come offerta Artifactory un web-frontend per questo.

Se non si dispone di un server repository è possibile inserirlo nella directory .m2/repository nella vostra cartella home. Creare una directory "/javax/comm/comm/2.0.3/" là e posizionare il pom dal primo anello e il barattolo scaricato in questa cartella. Ma questo sarà solo il lavoro per la vostra macchina locale.

Si può anche aggiungere il manufatto nel controllo del codice sorgente e utilizzare il Maven-install-plugin per installarlo localy prima della costruzione, come spiegato qui .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top