tutorial para oxygen instalar descargar archetype java eclipse struts2 m2eclipse maven-3

java - para - Maven 3 problema de artefactos



maven eclipse photon (9)

Hice un nuevo proyecto de struts en eclipse usando struts2-archtype-starter.

Algunos errores ya estaban en mi proyecto antes de hacer algo. Resolvió la mayoría de ellos pero hay 1 que aún me dan algunos problemas.

Missing artifact com.sun:tools:jar:1.5.0:system pom.xml

Intenté agregar tools.jar a mi repositorio manualmente, pero eso no solucionó el problema.

Mi pom se ve así

<?xml version="1.0" encoding="UTF-8" ?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.divespot</groupId> <artifactId>website</artifactId> <packaging>war</packaging> <version>0.0.1-SNAPSHOT</version> <name>E-Divespot diving community</name> <url>http://www.e-divespot.com</url> <description>A website to support divers from all around the world.</description> <dependencies> <!-- Junit --> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.8.2</version> <scope>test</scope> </dependency> <!-- Struts 2 --> <dependency> <groupId>org.apache.struts</groupId> <artifactId>struts2-core</artifactId> <version>2.0.11.2</version> </dependency> <dependency> <groupId>org.apache.struts</groupId> <artifactId>struts2-sitemesh-plugin</artifactId> <version>2.0.11.2</version> </dependency> <dependency> <groupId>org.apache.struts</groupId> <artifactId>struts2-spring-plugin</artifactId> <version>2.0.11.2</version> </dependency> <!-- Servlet & Jsp --> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.4</version> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>jsp-api</artifactId> <version>2.0</version> <scope>provided</scope> </dependency> <!-- Jakarta Commons --> <dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.1.1</version> </dependency> <!-- Dwr --> <dependency> <groupId>uk.ltd.getahead</groupId> <artifactId>dwr</artifactId> <version>1.1-beta-3</version> </dependency> </dependencies> <build> <finalName>website</finalName> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.6</source> <target>1.6</target> </configuration> </plugin> <plugin> <groupId>org.mortbay.jetty</groupId> <artifactId>maven-jetty-plugin</artifactId> <version>6.1.5</version> <configuration> <scanIntervalSeconds>10</scanIntervalSeconds> </configuration> </plugin> </plugins> </build> </project>



El ejemplo de eclipse.ini:

-startup plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar --launcher.library plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.100.v20110502 -product org.eclipse.epp.package.java.product --launcher.defaultAction openFile --launcher.XXMaxPermSize 256M -showsplash org.eclipse.platform --launcher.XXMaxPermSize 256m --launcher.defaultAction openFile -vm C:/Java/JDK/1.6/bin/javaw.exe -vmargs -Dosgi.requiredJavaVersion=1.5 -Xms40m -Xmx1024m

-vm value: Linux Ejemplo:

-vm /opt/sun-jdk-1.6.0.02/bin/java

Desde ingresar la descripción del enlace aquí


El error que está viendo probablemente se deba a que su ruta JAVA_HOME no está configurada correctamente. ¿Ves algo así como C:/{directories to jre}/../lib/tools.jar ?

Puedes hacer que eclipse se inicie usando tu JDK incorporado al alterar el eclipse.ini y agregar algo como

-vm C:/{directories to JDK}/bin/javaw.exe

Lo que he aprendido es que el eclipse por defecto usará el sistema jre para comenzar el eclipse. Probablemente hayas visto un mensaje al iniciar eclipse similar a "Eclipse se está ejecutando bajo un JRE y m2eclipse requiere un JDK; algunos complementos no funcionarán"

Si vas a (en eclipse) Ayuda -> Detalles de instalación y buscas un -vm probablemente lo verás apuntando a un lugar que no tiene la estructura de ruta que está esperando.

Nota: Por alguna razón, cuando encontré este problema, se evaluó java.home en maven desde donde se lanzó el eclipse. Por lo tanto, cuando intenta extraer tools.jar de lo que ve como java.home, puede que no sea lo que realmente configura como JAVA_HOME como una variable env / system.


El problema principal es que el mavan no puede reparar la herramienta .jar. por lo que este problema ocurre, simplemente agrega el archivo tool.jar en tu proyecto. El Tool.jar presente en tu software java C: / Program Files / Java / jdk1.6.0_14 / lib
prueba este código, espero que lo ejecutes con éxito http://maven.apache.org/xsd/maven-4.0.0.xsd "> 4.0.0 Strust2Testing Strust2Testing 0.0.1-SNAPSHOT war org.apache.struts

<artifactId>Struts2-core </artifactId> <version>2.3.15.1</version> <exclusions> <exclusion> <artifactId>tools</artifactId> <groupId>com.sun</groupId> </exclusion> </exclusions> </dependency> </dependencies> <build> <sourceDirectory>src</sourceDirectory> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.1</version> <configuration> <source>1.6</source> <target>1.6</target> </configuration> </plugin> <plugin> <artifactId>maven-war-plugin</artifactId> <version>2.3</version> <configuration> <warSourceDirectory>WebContent</warSourceDirectory> <failOnMissingWebXml>false</failOnMissingWebXml> </configuration> </plugin> </plugins> </build>


Habiendo tenido el mismo problema recientemente, ninguna de las soluciones anteriores funcionó para mí. Me encontré con http://blog.samratdhillon.com/archives/598 y pensé que era el error Eclipse mencionado allí.

Tuve que eliminar todas las jre instaladas de la configuración de Eclipse (Window -> Preferences -> Java -> Installed JREs) y solo mantener exactamente una jdk. Después de eso, maven funcionó perfectamente sin ninguna modificación de eclipse.ini o cualquier otra cosa. Esto es con la versión 1 del servicio de Ecpise Indigo.


Necesita agregar otra respuesta. Después de actualizar m2e a 1.4.20130601-0317, el error volvió. De nuevo, ninguna de las soluciones propuestas funcionó, incluida la que acabo de proponer. Eventualmente, encontré al culpable: incluyendo org.htmlparser:1.6 tenía una dependencia implícita en tools.jar . No tenía idea de por qué eliminar los jre instalados ayudaba con el m2e anterior (1.0.a algo). Ahora la solución es excluir tools.jar :

<dependency> <groupId>org.htmlparser</groupId> <artifactId>htmlparser</artifactId> <version>1.6</version> <exclusions> <exclusion> <artifactId>tools</artifactId> <groupId>com.sun</groupId> </exclusion> </exclusions> </dependency>


No puede usar tools.jar desde un repositorio.

Lamentablemente, algo en su árbol de dependencia cree que puede. Por lo tanto, debe usar una ''exclusión'' para deshacerse de la dependencia existente y luego reemplazarla con lo siguiente.

Si hace que la versión en la coincidencia a continuación que en el mensaje de error, es posible que no necesite los ''excluye''.

Necesitas:

<profiles> <profile> <id>default-tools.jar</id> <activation> <property> <name>java.vendor</name> <value>Sun Microsystems Inc.</value> </property> </activation> <dependencies> <dependency> <groupId>com.sun</groupId> <artifactId>tools</artifactId> <version>whatever</version> <scope>system</scope> <systemPath>${java.home}/../lib/tools.jar</systemPath> </dependency> </dependencies> </profile>


sudo apt-get install openjdk-7-source


<dependency> <groupId>org.apache.struts</groupId> <artifactId>struts2-core</artifactId> <version>${struts2.version}</version> <exclusions> <exclusion> <artifactId>tools</artifactId> <groupId>com.sun</groupId> </exclusion> </exclusions> </dependency>