¿Cómo lidiar con la carpeta de código fuente src/test/java que falta en el proyecto Android / Maven?


Todavía no tengo mucha experiencia con Maven en combinación con Android, así que seguí estas instrucciones para hacer un nuevo proyecto de Android. Cuando el proyecto ha sido creado, recibo el siguiente mensaje de error:

Falta el proyecto 'xxx-1.0-SNAPSHOT' carpeta de origen requerida: "src/test / java"

Cuando intento agregar una nueva carpeta de código fuente con New->Other- > Java-Source Folder con src/test / java, recibo otro mensaje de error:

La carpeta es ya es una carpeta de origen.

Pero no tengo ninguna carpeta src/test/java en mi proyecto. ¿Cómo debo lidiar con eso? ¿Cuál es la forma limpia de configurar el proyecto, porque supongo que hay algo que falta en esta instrucción. Entonces, ¿cuál es la forma Maven de dejar que aparezca src/test / java?

Estoy usando Eclipse Juno, m2e 1.1.0, Configuración de Android para m2e 0.4.2.

Author: Bevor, 2012-08-15

7 answers

Me doy cuenta de esta cosa molesta también desde la última actualización del plugin m2e-android (versión 0.4.2), sucede tanto en la creación de nuevos proyectos como en la importación de proyectos existentes (si no utiliza src/test/java).

Parece m2e-android (o tal vez m2e) ahora siempre tratando de agregar src/test/java como una carpeta de origen, independientemente de si realmente existe en el directorio del proyecto, en el .archivo classpath:

<classpathentry kind="src" output="bin/classes" path="src/test/java">
  <attributes>
    <attribute name="maven.pomderived" value="true"/>
  </attributes>
</classpathentry>

Ya está agregado en el archivo de metadatos del proyecto, por lo que si intenta agregar la carpeta de origen a través de Eclipse, Eclipse se quejará de que la classpathentry ya existe:

introduzca la descripción de la imagen aquí

Hay varias formas de arreglarlo, la más fácil es crear manualmente el directorio src/test/java en el sistema de archivos, luego actualizar su proyecto presionando F5 y ejecutar Maven -> Actualizar Proyecto (Haga clic derecho en proyecto, elija Maven -> Actualizar Proyecto...), esto debería corregir la carpeta de origen requerida que falta:' src/test / java ' error.

 83
Author: yorkw,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-08-15 22:16:29

Podemos añadir la carpeta java desde

  1. Ruta de compilación -> Fuente.
  2. haga clic en Agregar Carpeta.
  3. Seleccione main como contenedor.
  4. haga clic en Crear carpeta.
  5. Introduzca el nombre de la carpeta como java.
  6. Haga clic en Finalizar

Funciona bien.

 11
Author: Kandy,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-03-15 06:16:02

Resuelvo el problema creando una carpeta llamada "src/test/resources" primero, luego renombra la carpeta a "src/test/java" ,finalmente crea una carpeta "src/test/resources" nuevamente .Funciona .

 5
Author: wejack,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-08-21 09:04:29

Esto se debe posiblemente a la pérdida del directorio fuente.

Haga clic derecho en la carpeta src -> Cambiar a la carpeta de origen

 2
Author: JavaCreeper,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-08-05 11:59:29

Tuve el mismo problema, lo solucioné. Cree la carpeta que falta directamente en su sistema de archivos (usando el explorador de Windows, por ejemplo). Y luego, actualice su proyecto bajo eclipse.

 2
Author: Mehdi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-10-19 15:23:42

Este es un error en el conector de Android para M2E (m2e-android) que se solucionó recientemente:

Https://github.com/rgladwell/m2e-android/commit/2b490f900153cd34fff1cec47fe5aeffabe44d87

Esta corrección se ha fusionado y estará disponible en la próxima versión. Mientras tanto, puede probar la nueva corrección instalando desde el siguiente sitio de actualización:

Http://rgladwell.github.com/m2e-android/updates/master /

 1
Author: Ricardo Gladwell,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-09-03 13:18:25

Eliminar el plugin m2 de la lista del plugin startup-up y hacer un Maven->Actualizar Proyectos en todos los proyectos funcionó para mí.

Nota** No se deben crear carpetas adicionales para evitar fusionarlas mientras se usan ramas basadas en SVN/Git.

 0
Author: Dish,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-08-18 05:16:00