3

Maven+桟橋+春3.2

私の桟橋情報:

2013-03-08 20:16:23.541:INFO:oejs.Server:main: jetty-9.0.0.RC2
2013-03-08 20:16:26.590:INFO:oejpw.PlusConfiguration:main: No Transaction manager found - if your webapp requires one, please configure one.
[DEBUG][2013-03-08 20:16:35,801]->org.eclipse.jetty.util.log [Logging to org.slf4j.impl.Log4jLoggerAdapter(org.eclipse.jetty.util.log) via org.eclipse.jetty.util.log.Slf4jLog]
2013-03-08 20:16:35.848:INFO:/:main: No Spring WebApplicationInitializer types detected on classpath
2013-03-08 20:16:36.743:INFO:/:main: Initializing Spring FrameworkServlet 'app-servlet'

Jettyはトランザクションマネージャーを見つけることができませんが、Spring application-context(app-servlet.xml)で既に構成済みです。

<!-- 使用注解方式管理事务 -->
    <tx:annotation-driven transaction-manager="transactionManager" proxy-target-class="true"/>
<!-- 配置事务管理 -->
    <bean id="transactionManager"
        class="org.springframework.orm.hibernate4.HibernateTransactionManager">
        <property name="sessionFactory" ref="sessionFactory"></property>
    </bean>

また、「クラスパスでSpring WebApplicationInitializerタイプが検出されません」と表示されます。また、web.xmlで「app-servlet.xml」を構成しました。

<!-- spring mvc的dispatcherServlet负责转发请求 -->
    <servlet>
        <servlet-name>app-servlet</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <!-- spring context文件 -->
            <param-name>contextConfigLocation</param-name>
            <param-value>
                classpath*:/spring/**/app-*.xml
            </param-value>
        </init-param>
        <!-- 服务启动的时候第一个将此servlet初始化加载,非零的时候,数字越小,优先级越高 -->
        <load-on-startup>1</load-on-startup>
    </servlet>

私のpom.xml:

<!-- jetty -->
            <plugin>
                <groupId>org.eclipse.jetty</groupId>
                <artifactId>jetty-maven-plugin</artifactId>
                <version>9.0.0.RC2</version>
            </plugin>

なぜ突堤は私にそのように警告したのですか?これらの異常な情報をどのように排除できますか?これらの2つの質問に答えてくれてありがとう。

4

2 に答える 2

3

すでに述べたように、「トランザクションマネージャーがありません」に関するjettyからのメッセージは純粋に情報提供であり、無視できます(Springにのみ知られているトランザクションマネージャーを使用しています)。

Springからの純粋な情報メッセージのように見える他のメッセージ「クラスパスでSpringWebApplicationInitializerタイプが検出されません」については、サーブレット3.0 Webアプリケーションがあり、Spring 3.2を使用している場合、SpringServletContainerInitializerクラスが呼び出されます。 webappが起動し、クラスパスでSpringのWebApplicationInitializerインターフェースの実装を探します。jetty-9.0.0.RC2とjetty-9.0.0finalをSpring3.2でテストしたので、おそらくあなたは何も持っていません。そのような初期化子は適切に発見されています。

Janに関して

于 2013-03-09T22:35:23.450 に答える
2

トランザクションマネージャに関する情報メッセージ..。

2013-03-08 20:16:26.590:INFO:oejpw.PlusConfiguration:main: No Transaction manager found - if your webapp requires one, please configure one.

JNDIで宣言されたXAトランザクションマネージャーがないために発生します。このための一般的な構成は、 DeploymentContextDescriptor/WEB-INF/jetty-env.xmlを使用するサーバー側またはサーバー側です。

Springからの他のエラーメッセージに関しては、それを解決するのは少し面倒です。

于 2013-03-08T14:18:39.043 に答える