Pregunta

Necesito la biblioteca Javax.Comm al construir mi proyecto en nuestro servidor de compilación Hudson con Maven. En mis proyectos, el archivo pom.xml tengo la dependencia como esta:

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

También leí en alguna parte que tendría mejor suerte con Javax Lib si incluía el repositorio:

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

lo cual hice. El resto de mi pom.xml es bastante estándar y minimalista.

Cuando intento construir en el servidor de compilación, obtengo:

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

----------

¿Qué estoy haciendo mal?

-editar-

Terminé descargando el Java Comm Lib de Oráculo y hizo que nuestro administrador de Maven lo instalara en nuestro repositorio local. Como se señaló con las respuestas debajo de Java Comm Lib, no está disponible en reposuras públicas debido a restricciones de licencia de Oracle (y Sun antes que ellos).

¿Fue útil?

Solución

Si tienes un vistazo aquí, en el repositorio "oficial" de Maven 2, lo verá en el pom.xml Archivo para su biblioteca:

<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>

lo que significa que debe descargar la biblioteca usted mismo (la URL se da en <downloadUrl> etiqueta), y luego Instálelo en su repositorio local (o incluso mejor, impleméntelo en su repositorio empresarial).

Esto sucede a veces con algunas bibliotecas (el controlador Oracle JDBC es otro ejemplo) que no está disponible para descarga directa, esencialmente debido a licencias específicas ...

Otros consejos

El JAR no está disponible en repositorios públicos, probablemente por razones de licencia.

Descargar el API de comunicación e implementarlo usando

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

En realidad, Maven no lo encuentra en los reposos públicos ...

Info] No se puede encontrar el recurso 'javax.comm: com: jar: 2.0.3' en repositorio java.net repositorio (http://download.java.net/maven/2) ... [info] inapropilado para encontrar Resource 'Javax.comm: Comm: Jar: 2.0.3' en Repositorio Central (http://repo1.maven.org/maven2)

Debe descargarlo de cualquier fuente e instalarlo en su repositorio local:

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

o implementarlo en el repositorio de su empresa (si tiene uno):

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

Debido a las restricciones de licencia, el paquete Javax.Comm no está disponible en ningún repositorio público, consulte aquí para obtener más detención:

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

El POM también le ofrece la URL de descarga. Debe descargar el jar usando el enlace proporcionado:

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

y colóquelo en "/javax/comm/comm/2.0.3/"En el servidor de repositorio de sus empresas, los servidores como Artifactory ofrecen un frontend de web para esto.

Si no tiene un servidor de repositorio, puede colocarlo en su .m2/repository directorio en su carpeta de inicio. Crear un directorio "/javax/comm/comm/2.0.3/"Allí y coloque el POM desde el primer enlace y el frasco descargado en esta carpeta. Pero esto solo funcionará para su máquina local.

También puede agregar el artefacto en el control de origen y usar el Maven-Install-Plugin para instalarlo localy antes de la compilación como se explicó aquí.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top