0

Eclipse を使用して初めての Spring/Maven Web アプリケーションを作成しようとしていますが、spring-security.xml 構成ファイルにこの警告が表示され、何日も頭がおかしくなりました!

他の人から解決策を見つけようとしましたが (これはよくある問題のように思われるため)、見つけたすべての解決策がうまくいきませんでした。最も一般的なのは spring-security-config.jar を追加することのようですが、私はすでにそれを取得しています。

これが警告の画像です。それを追加すると、同じ警告が横にも表示されます。

春のセキュリティ警告日食

また、Bean と security .xsd の両方に -3.2 を追加してみました。また、考えられる他のすべての数値の組み合わせも試しました。

これらは私の pom.xml 依存関係です:

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <spring.version>4.0.0.M1</spring.version>
    <spring.security.version>3.2.0.M2</spring.security.version>
    <jstl.version>1.2.1</jstl.version>
</properties>
<dependencies>
    <!-- Spring Dependencies -->
    <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>org.springframework</groupId>
        <artifactId>spring-jdbc</artifactId>
        <version>${spring.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-aop</artifactId>
        <version>${spring.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-beans</artifactId>
        <version>${spring.version}</version>
    </dependency>
    <!-- Spring Security Dependencies -->
    <dependency>
        <groupId>org.springframework.security</groupId>
        <artifactId>spring-security-core</artifactId>
        <version>${spring.security.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.security</groupId>
        <artifactId>spring-security-web</artifactId>
        <version>${spring.security.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.security</groupId>
        <artifactId>spring-security-config</artifactId>
        <version>${spring.security.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.security</groupId>
        <artifactId>spring-security-taglibs</artifactId>
        <version>${spring.security.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.security</groupId>
        <artifactId>spring-security-acl</artifactId>
        <version>${spring.security.version}</version>
    </dependency>
    <!-- JSTL Dependencies -->
    <dependency>
        <groupId>javax.servlet.jsp</groupId>
        <artifactId>jstl-api</artifactId>
        <version>${jstl.version}</version>
    </dependency>
    <dependency>
        <groupId>javax.servlet.jsp</groupId>
        <artifactId>jstl</artifactId>
        <version>${jstl.version}</version>
    </dependency>
    <!-- MySQL Database Driver -->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.25</version>
    </dependency>
</dependencies>

そして、ここに私のweb.xmlがあります:

<web-app xmlns="http://java.sun.com/xml/ns/javaee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="3.0"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee     http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<servlet>
    <servlet-name>mvc-dispatcher</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>mvc-dispatcher</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>
<listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>
        /WEB-INF/mvc-dispatcher-servlet.xml
        /WEB-INF/spring-database.xml
        /WEB-INF/spring-security.xml
    </param-value>
</context-param>
<filter>
    <filter-name>springSecurityFilterChain</filter-name>
    <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>
<filter-mapping>
    <filter-name>springSecurityFilterChain</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

日食で警告が発生する原因について何か考えがある場合は、お気軽にお知らせください。さらに詳しい情報が必要な場合は、お知らせください。

ありがとう。

4

2 に答える 2

1

使用できるすべての xsd スキーマは、いくつかの jar ファイル内に格納されています。この場合は になりますspring-security-config-3.2.0.M2.jar。Eclipse で開きます (Project Explorer -> Your project -> Java Resources -> Libraries -> Maven Dependencies -> spring-security-config-3.2.0.M2.jar)。ファイルで使用可能なスキーマのリストを見つけることができMETA-INF/spring.schemasます。通常、すべての shcemas はorg.springframework.security.configパッケージ内にあります (例: org/springframework/security/config/spring-security-3.1.xsd)。そこで利用可能なスキーマのいずれかを使用していることを確認してください。そうでない場合は、セキュリティ xml ファイルを更新します。その他、対応するファイルが見つかった場合は、Eclipse ([プロジェクト] -> [クリーン]) の問題です。

于 2013-07-08T09:41:13.797 に答える
0

この問題の解決策を見つけたかもしれません。私の場合、Eclipse は Dynamic Web Module の 3.0 ではなくバージョン 2.3 を使用するように設定されていました。

プロジェクトを右クリックして、に移動してこれを解決しましたProperties。下のチェックをProject Facets外しDynamic Web Moduleて適用を押します。次に、バージョン番号を に変更し3.0、再ティックして再適用します。完了したら、プロジェクトを右クリックし、 に移動してMavenを押しUpdate Project...ます。

于 2013-07-09T22:42:15.403 に答える