2011-06-24 14 views
19

Quiero construir un proyecto simple usando un arquetipo existente. Pero no puedo correr mvn archetype:generate ya que me dice la siguiente informaciónarquetipo mvn: generar no funciona; no se ha encontrado ningún complemento para el prefijo 'arquetipo'

[ERROR] No plugin found for prefix 'archetype' in the current project and in the 
plugin groups [org.apache.maven.plugins, org.codehaus.mojo] available from the 
repositories [local (C:\Documents and Settings\ccen\.m2\repository), central (ht 
tp://repo1.maven.org/maven2)] -> [Help 1] 

que estaba usando MS Windows y no usar cualquiera settings.xml en mi carpeta ~/.m2 y toda la materia es completamente nuevo. ¿Alguien podría ayudarme a resolverlo?

Respuesta

17

La otra cosa que podría estar yendo mal es que su máquina está detrás de un servidor de seguridad o proxy para que su caja no pueda pulsar http://repo1.maven.org/maven2. Intente acceder a esta URL directamente en un navegador o algo para probar si puede realizar la solicitud.

+0

Sí exactamente, lo he pasado. Necesito configurar un espejo del depósito central dentro de mi compañía. ¡Gracias por tu ayuda! –

+0

Me complace escuchar para resolver el problema. Mi compañía usa Nexus (http://nexus.sonatype.org/) como espejo local de Maven Central. Nexus se puede configurar para descargar cualquier artefacto que no tenga para que lo tenga la próxima vez, lo que es muy útil para que no tengas que descargar todo de una vez. –

+0

@JesseWebb Puedo acceder a http://repo1.maven.org/maven2, pero sigo recibiendo el mismo error. ¿El firewall está causando el problema? Cambié el archivo setting.xml pero aún no es bueno – JavaQuest

14

El comando que debe utilizar para generar un proyecto con un arquetipo es ...

mvn archetype:generate 

El comando que ha escrito en su pregunta estaba mal (falta el primer 'e' en el arquetipo). Supongo que esto es solo un error tipográfico en SO porque el error que publicaste tenía un arquetipo escrito correctamente.

Creo que este error se producirá si está intentando ejecutar este comando desde un directorio que ya tiene un archivo pom.xml. Tratará de encontrar una configuración de complemento de arquetipo dentro del archivo existente pom.xml.

Pruebe nuevamente el comando en un directorio vacío, o al menos en uno que no tenga un archivo pom.xml y debería funcionar.

+0

Hola Gweebz, sí, era un error tipográfico, utilicé mvn archetype: generate, y estaba en un directorio vacío sin ningún pom.xml, ¿es posible que no pueda acceder al repo1.maven.org/maven2? –

+0

Typo también ... aunque pensé que debías estar bromeando porque si escribes mal una bandera (param) para cualquier programa, debería darte un "programa desconocido". Parece que Maven tiene banderas archtype y archEtype? – luigi7up

+0

Mierda :) ¡tienes razón! – phoad

9

En caso de que esté detrás del firewall de coporate, configure el proxy utilizando "settings.xml" en el directorio/conf nombre de usuario, contraseña, host &, deben proporcionarse los valores del puerto.

| 
<proxy> 
    <id>optional</id> 
    <active>true</active> 
    <protocol>http</protocol> 
    <username>proxyuser</username> 
    <password>proxypass</password> 
    <host>proxy.host.net</host> 
    <port>80</port> 
    <nonProxyHosts>local.net|some.host.com</nonProxyHosts> 
</proxy> 

2

Otro problema con Windows (Vista, Windows 7 en adelante) es que el símbolo del sistema debe estar en ejecución con privilegios administrativos (Haga clic derecho comando de acceso directo rápido y elegir la opción "ad administrador Ejecutar" si UAC está activado), simplemente ejecute el símbolo del sistema como administrador antes de ejecutar mvn archetype: generate.

Me había enfrentado a este problema al crear el proyecto vaadin 7 en Windows 7 con el siguiente comando.

mvn archetype:generate -DarchetypeGroupId=com.vaadin -DarchetypeArtifactId=vaadin-archetype-application -DarchetypeVersion=7.1.8 -DgroupId=im.sma.testproject -DartifactId=testproject -Dversion=1.0 -Dpackaging=war 
  • SMA
5

Este es el problema con el servidor de seguridad. Para comprobar si el cortafuegos está activado:

Haga clic en Inicio -> haga clic en Ejecutar -> escriba wscui.cpl -> haga clic en Aceptar. En el Centro de seguridad de Windows-> haga clic en Seguridad Si el trabajo en red del Network Firewall está "activado", debe configurar el proxy para maven.

Ir a/conf -> abrir configuraciones.xml con la libreta proxy de comentar (si no recuerda la configuración del proxy u puede comprobar en el navegador web usando U R)

<proxies> 
    <proxy> 
     <id>optional</id> 
     <active>true</active> 
     <protocol>http</protocol> 
     <username></username> 
     <password></password> 
     <host>www-proxy.us.oracle.com</host> 
     <port>80</port> 
     <nonProxyHosts></nonProxyHosts> 
    </proxy> 
</proxies> 

Puede dejar el nombre de usuario y pwd campos en blanco y que sólo la máquina y el puerto.

+0

host y puerto se pueden encontrar en la configuración de red del navegador (configuración LAN) – Vishal

0

En mi caso, la solución se acaba de ejecutar mvn archtype: generar en modo seguro bajo su perfil de usuario. Después de eso, pude ejecutarlo en arranque normal.

1
  • Para añadir de Venerik respuesta que iba a elaborar un poco para los usuarios ingenuos como yo;

configuración del proxy en experta en van a Apache-3.3.9-experta en la carpeta \ conf y encontrar settings.xml abrirlo en cualquier editor de texto ir al bloque de código que se parece a continuación

<proxies> 
<!-- proxy 
| Specification for one proxy, to be used in connecting to the network. 
| 
<proxy> 
    <id>optional</id> 
    <active>true</active> 
    <protocol>http</protocol> 
    <username>proxyuser</username> 
    <password>proxypass</password> 
    <host>proxy.host.net</host> 
    <port>80</port> 
    <nonProxyHosts>local.net|some.host.com</nonProxyHosts> 
</proxy> 
--> 
</proxies> 
  • Ahora elimine el comentario de código (proxy .../proxy) cortando y pegando que

justo después (proxi es).

Ahora cambian de acuerdo a la configuración del proxy En mi caso parece que el siguiente

<proxies> 
    <proxy> 
     <id>optional</id> 
     <active>true</active> 
     <protocol>http</protocol>  
     <host>authproxy.serc.iisc.ernet.in</host> 
     <port>3128</port> 
     <nonProxyHosts>local.net|some.host.com</nonProxyHosts> 
    </proxy> 
    <!-- proxy 
    | Specification for one proxy, to be used in connecting to the  network. 
| 
    --> 
    </proxies> 

Ahora intente ejecutar arquetipo mvn: generar y debe ejecutar y descarga

0

He resuelto este problema desactivando el antivirus por un tiempo mientras se crea el proyecto.

Click here how to do that with avast

0

que tenían el mismo problema. Causa raíz: tipeado mvn generate: archetype instead archetype: generate.
mvn archetype: generar - es la forma correcta.

+1

Esto no es una respuesta. –

Cuestiones relacionadas