当前位置: 首页 > 知识库问答 >
问题:

为什么不在SpringMVC框架中的eclipse中构建war文件?

燕永昌
2023-03-14

我正在尝试构建一个maven构建和创建。战争档案。它显示了错误:

[ERROR]未能执行目标org.apache.maven.plugins:maven-compiler-plugin:3.1:编译(默认编译)上的项目任务:编译失败:编译失败:[ERROR] /E:/Java_Project/雇员在线注册表单/src/main/java/雇员在线注册表单/控制器/雇员注册ontroller.java:[13,47]找不到符号[ERROR]符号:类CrossOrigin[ERROR]位置:包org.springframework.web.bind.annotation[ERROR] /E:/Java_Project/雇员在线注册表单/src/main/java/雇员在线注册表单/控制器/雇员注册ontroller.java:[22,2]找不到符号[ERROR]符号:类CrossOrigin

这是我的pom。xml:

<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/xsd/maven-4.0.0.xsd">
 <modelVersion>4.0.0</modelVersion>
 <groupId>EmpReg</groupId>
 <artifactId>EmpReg</artifactId>
 <packaging>war</packaging>
 <version>1.0</version>
 <name>SpringExamples</name>
 <description></description>
 <build>
  <plugins>
   <plugin>
    <artifactId>maven-compiler-plugin</artifactId>
    <configuration>
     <source>1.5</source>
     <target>1.5</target>
    </configuration>
   </plugin>
   <plugin>
    <artifactId>maven-war-plugin</artifactId>
    <version>3.0.0</version>
    <configuration>
    <webXml>src\main\webapp\WEB-INF\web.xml</webXml>
    <failOnMissingWebXml>false</failOnMissingWebXml>

    </configuration>
   </plugin>
  </plugins>
 </build>

 <properties>
  <spring.version> 4.0.5.RELEASE</spring.version>
 </properties>

 <dependencies>
  <dependency>
   <groupId>org.codehaus.jackson</groupId>
   <artifactId>jackson-mapper-asl</artifactId>
   <version>1.7.1</version>
  </dependency>
  <dependency>
   <groupId>javax.servlet</groupId>
   <artifactId>servlet-api</artifactId>
   <version>2.5</version>
  </dependency>
  <dependency>
   <groupId>org.springframework</groupId>
   <artifactId>spring-core</artifactId>
   <version>${spring.version}</version>
  </dependency>

  <dependency>
   <groupId>org.springframework</groupId>
   <artifactId>spring-web</artifactId>
   <version>${spring.version}</version>
  </dependency>

  <dependency>
   <groupId>org.springframework</groupId>
   <artifactId>spring-webmvc</artifactId>
   <version>${spring.version}</version>
  </dependency>
  <dependency>
        <groupId>jstl</groupId>
        <artifactId>jstl</artifactId>
        <version>1.2</version>
    </dependency>
        <dependency>
            <groupId>commons-fileupload</groupId>
            <artifactId>commons-fileupload</artifactId>
            <version>1.2</version>
        </dependency>
        <dependency>
            <groupId>commons-io</groupId>
            <artifactId>commons-io</artifactId>
            <version>1.4</version>
        </dependency>
        <dependency>
    <groupId>commons-lang</groupId>
    <artifactId>commons-lang</artifactId>
    <version>2.2</version>
</dependency>
<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-lang3</artifactId>
    <version>3.0</version>
</dependency>

 </dependencies>
</project>

这是我的网站。xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4"
 xmlns="http://java.sun.com/xml/ns/j2ee" 
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
 <display-name>SpringExamples</display-name>
 <welcome-file-list>
  <welcome-file>index.jsp</welcome-file>
 </welcome-file-list>

 <servlet>
  <servlet-name>dispatcher</servlet-name>
  <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  <load-on-startup>1</load-on-startup>
 </servlet>
 <servlet-mapping>
  <servlet-name>dispatcher</servlet-name>
  <url-pattern>/</url-pattern>
 </servlet-mapping>

</web-app>

这是我的调度器servlet。xml:

<beans xmlns="http://www.springframework.org/schema/beans"
 xmlns:context="http://www.springframework.org/schema/context"
 xmlns:mvc="http://www.springframework.org/schema/mvc" 
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="
        http://www.springframework.org/schema/beans     
        http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
        http://www.springframework.org/schema/context 
        http://www.springframework.org/schema/context/spring-context-3.0.xsd
        http://www.springframework.org/schema/mvc
        http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">

 <context:component-scan base-package="EmployeeOnlineRegistrationForm.controller" />

 <mvc:annotation-driven />
 <mvc:resources mapping="/resources/**" location="/resources/" />
  <bean id="multipartResolver"
        class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
        <property name="maxUploadSize" value="1048576"/>
    </bean>
</beans>

共有1个答案

易修洁
2023-03-14

我已经解决了这个问题。1) 我已经下载了cors-filter-2.2.1。jar加了它。2) 我在pom中添加了maven依赖项。xml:

 <dependency>
    <groupId>com.thetransactioncompany</groupId>
    <artifactId>cors-filter</artifactId>
    <version>2.2.1</version>
   </dependency>

3) 我已扩展控制器并覆盖一个方法:

public class EmployeeRegistrationController extends OncePerRequestFilter {
@Override
        protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException {

            response.addHeader("Access-Control-Allow-Origin", "*");
            if (request.getHeader("Access-Control-Request-Method") != null && "OPTIONS".equals(request.getMethod())) {
                //LOG.trace("Sending Header....");
                // CORS "pre-flight" request
                response.addHeader("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE");
                // response.addHeader("Access-Control-Allow-Headers", "Authorization");
                response.addHeader("Access-Control-Allow-Headers", "Content-Type");
                response.addHeader("Access-Control-Max-Age", "1");
            }
            filterChain.doFilter(request, response);
        }


}

4) 我在网络上添加了过滤器。xml:

<filter>
        <filter-name>cors</filter-name>
        <filter-class>EmployeeOnlineRegistrationForm.controller.EmployeeRegistrationController</filter-class> <!-- your package name and filter class -->
    </filter>
    <filter-mapping>
        <filter-name>cors</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping> 
 类似资料:
  • 通常,当我在Eclipse Package Explorer中右键单击Ant buildfile并从上下文菜单中选择“Run As”时,我会得到选项“Ant Build”和“Ant Build...”可供选择。这才是正确的行为。 偶尔,这些选项会被与Ant无关的选项所取代,比如“JUnit Test”和“Java applet”。什么会导致Eclipse失去上下文敏感性,并且不能在那里显示正确的选

  • 所以基本上我有一个动态添加和删除片段的浏览器。我要做的是在片段中设置onClick函数,并执行与该片段相关的操作。以下是我的代码。 MainFragment.java } 然后我在Fragment的xml中使用了OnClick属性,并在我的MainActivity中创建了一个函数,这也不起作用。 我错过了什么?

  • 问题内容: 我有一个项目,我现在开始作为Maven项目,但是由于某种原因,它无法正常工作。这是我的pom.xml: 问题答案: 实际上,您的POM看起来有点奇怪: 它缺少Webapp项目的权利。 Maven War插件配置看起来不正确,您只是不需要添加的额外内容。 这是最小pom的样子: 因此,要么修改它,然后更新项目配置( 右键单击 您的项目,然后 右键单击 Maven >更新项目配置)。 或者

  • 问题内容: HTML从早期开始就有框架,但是在最新版本中已弃用。许多浏览器(我曾尝试使用Internet Explorer)甚至无法正确显示框架。 为什么要这样做?镜框的缺点是什么? 问题答案: 雅各布·尼尔森(JakobNielsen)在1996年的专栏批评镜框。一些关键点: 框架会阻止用户正确标记页面。加载带有书签的框架集页面时,用户先前在框架内单击鼠标没有关系。仅保存外部URL,用户必须导航

  • 问题内容: 我很好奇,将框架与PHP一起使用有什么优缺点? 从版本3开始,我一直在使用PHP。无论如何,我从未使用过任何可用于PHP的框架,所以我错过了什么? 问题答案: 框架使您从低级详细信息中抽象出来,使您的工作效率更高,并保护您免受低级错误(例如防止SQL注入攻击)的侵害。 一个好的PHP框架会迫使您分离您的关注点并实现经过验证的体系结构,从而最终改善您的设计,并使您的代码更易于阅读和维护以