java - generar - Fábiles de compilación de Maven(pero la compilación bajo Eclipse es exitosa)
generar jar maven eclipse (1)
Al compilar mi proyecto web desde Eclipse , todo está bien: sin errores, sin advertencias .
Sin embargo, mientras se construye un proyecto con Maven, esto no funciona. A continuación se muestra la forma de salida mvn compile
:
c: / Users / jwa / Desktop / tets / traffic_web> mvn compile -e + Error stacktraces están activados. [INFO] Buscando proyectos ... [INFO] -------------------------------------- ---------------------------------- [INFO] Building traffic_web [INFO]
segmento de tarea: [compilar] [INFO] ---------------------------------------- -------------------------------- [INFO] [recursos: recursos {ejecución: recursos predeterminados}] [ADVERTENCIA] Uso de la codificación de la plataforma (Cp1250 en realidad) para copiar recursos filtrados, es decir, la compilación depende de la plataforma. [INFO] omita el directorio de recursos no existente c: / Users / jwa / Desktop / tets / traffic_web / src / main / resources [INFO] [compilador: compile {ejecución: default-compile}] [INFO] Compilando 22 archivos fuente en c: / Users / jwa / Desktop / tets / traffic_web / target / classes [INFO] --------------------------------- --------------------------------------- [ERROR] ERROR EN LA CONSTRUCCIÓN [INFO] --- -------------------------------------------------- ------------------- [INFO] Fallo de compilaciónc: / Users / jwa / Desktop / tets / traffic_web / src / traffic_web / tools / Encryptor.java: [7,15] sun.misc.BASE64Encoder es una API propiedad de Sun y puede eliminarse en una versión futura
c: / Users / jwa / Desktop / tets / traffic_web / src / traffic_web / tools / Session.java: [3,25] el paquete javax.servlet.http no existe
c: / Users / jwa / Desktop / tets / traffic_web / src / traffic_web / tools / Session.java: [15,21] no puede encontrar el símbolo de símbolo: clase HttpSession ubicación: clase traffic_web.tools.Session
c: / Users / jwa / Desktop / tets / traffic_web / src / traffic_web / tools / ServletContextListenerInitializer.java: [6,20] package javax. servlet no existe
c: / Users / jwa / Desktop / tets / traffic_web / src / traffic_web / tools / ServletContextListenerInitializer.java: [7,20] package javax. servlet no existe
c: / Users / jwa / Desktop / tets / traffic_web / src / traffic_web / tools / ServletContextListenerInitializer.java: [8,20] package javax. servlet no existe
c: / Users / jwa / Desktop / tets / traffic_web / src / traffic_web / tools / ServletContextListenerInitializer.java: [10,58] no se puede encontrar s ymbol symbol: class ServletContextListener public class ServletContextListenerInitializer implements ServletContextListener {
c: / Users / jwa / Desktop / tets / traffic_web / src / traffic_web / tools / ServletContextListenerInitializer.java: [12,33] no se encuentra el símbolo de ymbol: class ServletContextEit location: class traffic_web.tools.ServletContextListenerInitializer
c: / Users / jwa / Desktop / tets / traffic_web / src / traffic_web / tools / ServletContextListenerInitializer.java: [15,35] no se puede encontrar s ymbol symbol: class ServletContextEit location: class traffic_web.tools.ServletContextListenerInitializer
c: / Users / jwa / Desktop / tets / traffic_web / src / traffic_web / controller / BoardController.java: [9,25] el paquete javax.servlet.http no existe
c: / Users / jwa / Desktop / tets / traffic_web / src / traffic_web / controller / BoardController.java: [87,29] no puede encontrar el símbolo de símbolo: class HttpServletResponse location: clase traffic_web.controller.BoardController
c: / Users / jwa / Desktop / tets / traffic_web / src / traffic_web / controller / BoardController.java: [116,37] no puede encontrar el símbolo de símbolo: class HttpServletResponse location: clase traffic_web.controller.BoardController
c: / Users / jwa / Desktop / tets / traffic_web / src / traffic_web / tools / Encryptor.java: [27,15] sun.misc.BASE64Encoder es la API propia de Sun y puede eliminarse en futuras versiones
c: / Users / jwa / Desktop / tets / traffic_web / src / traffic_web / tools / Session.java: [17,27] no puede acceder a javax.servlet.http.HttpSe rvletRequest no se encuentra el archivo de clase para javax.servlet.http.HttpServletRequest return attr.getRequest (). getSession (true); // true == permite crear
c: / Users / jwa / Desktop / tets / traffic_web / src / traffic_web / tools / ServletContextListenerInitializer.java: [17,8] no puede encontrar el símbolo de símbolos: clase Ubicación ServletContext: clase traffic_web.tools.ServletContextListenerInitializer
[INFO] ----------------------------------------------- ------------------------- [INFO] Trace org.apache.maven.BuildFailureException: Error de compilación en org.apache.maven.lifecycle.DefaultLifecycleExecutor. executeGoals (DefaultLifecycleExecutor.java:715) en org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle (DefaultLifecycleExecutor.java:55 6) en org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal (DefaultLifecycleExecutor.java:535) en org. apache.maven.lifecycle.DefaultLifecycleExecutor.executeGexal. .java: 180) en org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:328) en org.apache.maven.DefaultMaven.execute (DefaultMaven.java:138) en org.apache.maven.cli.MavenCli. main (MavenCli.java:362) en org.apac he.maven.cli.compat.CompatibleMain.main (CompatibleMain.java:60) en sun.reflect.NativeMethodAccessorImpl.invoke0 (Método nativo) en sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java.39) a la luz del sol. DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:25) en java.lang.reflect.Method.invoke (Method.java:597) en org.codehaus.classworlds.Launcher.launchEnhanced (Launcher.java:315) en la tienda de correos. .Launcher.launch (Launcher.java:255) en org.codehaus.classworlds.Launcher.mainWithExitCode (Launcher.java:430) en org.codehaus.classworlds.Launcher.main (Launcher.java:375) Caused por: org. apache.maven.plugin.CompilationFailureException: Error de compilación en org.apache.maven.plugin.AbstractCompilerMojo.execute (AbstractCompilerMojo.java:516) en org.apache.maven.plugin.CompilerMojo.execute (CompilerMojo.java:11) .apache.maven.plugin.DefaultPluginManager.executeMojo (DefaultPluginManager.java:490) en org.apache.maven.lifecycle.DefaultLifecycleExec utor.executeGoals (DefaultLifecycleExecutor.java:694) ... 17 más [INFO] -------------------------------- ---------------------------------------- [INFO] Tiempo total: 1 segundo [INFO ] Terminado el: lunes 28 de junio 21:56:25 CEST 2010 [INFO] Memoria final: 13M / 254M
[INFO]
Mi archivo POM se ve así:
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>masters.traffic</groupId>
<artifactId>traffic_web</artifactId>
<packaging>war</packaging>
<name>traffic_web</name>
<version>0.1.0</version>
<build>
<sourceDirectory>src</sourceDirectory>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
</plugins>
</build>
...
</project>
¿Puede alguien ayudarme a arreglar eso?
Saludos
No has agregado las clases de servlet como dependencias. Aparentemente están presentes por defecto en Eclipse, por lo que funciona compilar desde allí. Agregue lo siguiente a su pom (antes de <build>...
, tomado de here ):
<dependencies>
[...]
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.4</version>
<scope>provided</scope>
</dependency>
</dependencies>