2016-11-10 22 views
0

私はSpring + Mavenで以下のマルチモジュールプロジェクトを作成しました。私はclevermoe_EE/target下cleverEE.earファイルを取得しています。このプロジェクトをビルドするには、Spring mvc + Mavenマルチモジュール+ Ear - デプロイメント

enter image description here

を階層を以下ました。このEARファイルは、以下のものが含まれ、

enter image description here

は当初、私は展開するJBoss7.1.1を使用し、だから私は、JBoss depolymentsに、この耳のファイルをコピーし、私は次のように戦争をロードすることができる午前、

http://localhost:8080/clevermoe_web

私は、だから私はclevermoe_webモジュール内の以下のクラスを使用http://www.mkyong.com/spring3/spring-3-mvc-hello-world-example-annotation/

、春のプロジェクトを作成するには、このリンクをたどっ

SpringWebConfig、

@EnableWebMvc // mvc:annotation-driven 
@Configuration 
@ComponentScan({ "com.zeptoh.clever.controllers" }) 
public class SpringWebConfig extends WebMvcConfigurerAdapter { 

    @Override 
    public void addResourceHandlers(ResourceHandlerRegistry registry) { 
     registry.addResourceHandler("/resources/**").addResourceLocations(
       "/resources/"); 
    } 

    @Bean 
    public InternalResourceViewResolver viewResolver() { 
     InternalResourceViewResolver viewResolver = new InternalResourceViewResolver(); 
     viewResolver.setViewClass(JstlView.class); 
     viewResolver.setPrefix("/WEB-INF/views/jsp/"); 
     viewResolver.setSuffix(".jsp"); 
     return viewResolver; 
    } 

MyWebInitializerクラス、

public class MyWebInitializer extends 
     AbstractAnnotationConfigDispatcherServletInitializer { 

    @Override 
    protected Class<?>[] getRootConfigClasses() { 
     // TODO Auto-generated method stub 
     return null; 
    } 

    @Override 
    protected Class<?>[] getServletConfigClasses() { 
     // TODO Auto-generated method stub 
     return new Class[] { SpringWebConfig.class }; 
    } 

    @Override 
    protected String[] getServletMappings() { 
     // TODO Auto-generated method stub 
     return new String[] { "/" }; 
    } 

} 

コントローラクラス、

@Controller 
public class HelloController { 

    @RequestMapping(value = "/", method = RequestMethod.GET) 
    public String printWelcome(ModelMap model) { 
     model.addAttribute("message", "Clever Portal"); 
     return "hello"; 
    } 

    @RequestMapping(value = "/hello/{name:.+}", method = RequestMethod.GET) 
    public ModelAndView hello(@PathVariable("name") String name) { 
     ModelAndView model = new ModelAndView(); 
     model.setViewName("hello"); 
     model.addObject("msg", name); 
     return model; 
    } 

} 

次のように私は

、オープンスプリングコントローラを傾けます

それは私が耳の展開にアクセスするには、言うた、いくつかの記事を読む404エラー

HTTP Status 404 - /clevermoe_web/hello/something 

type Status report 

message /clevermoe_web/hello/something 

description The requested resource (/clevermoe_web/hello/something) is not available. 

JBossWeb/2.0.1.GA 

を言う、JBossを使用するには良い動きではありません。そこでTomEEサーバーをダウンロードしました。イアファイルをフォルダに抽出します。しかし、私はJBossと同じ問題を抱えていました。

TomEEサーバーのwebappsフォルダ内のcleverEE.ear内にwarファイル(clevermoe_web.war)をコピーしましたが、これは正常に動作してスプリングコントローラにアクセスします。

JBossのcleverEE.earにwarファイル(clevermoe_web.war)をコピーしましたが、それでも404エラーが表示されます。

私はここで世話をする必要があると誰かが言うことができますか?

答えて

-1

http://localhost:8080/clevermoe_web-0.1/hello/somethingは機能しますか? META-INFのapplication.xmlにwarコンテキストをマップしていない場合、これは使用されたコンテキストです(戦争名から)

+0

はい、あります。 ><?xml version = "1.0" encoding = "UTF-8"?> <!DOCTYPE application PUBLIC \t " - // Sun Microsystems、Inc.//DTD J2EEアプリケーション1.3 // JA " \t" http://java.sun.com/dtd/application_1_3。DTD "> <表示名> clevermoe_EE 耳depolyer clevermoe_web-0.1.war/clevermoe_web ' –

+0

あなたはどのように展開していますか?tomee.xmlにあなたのコメントを外し展開ラインを行なったし、作成したアプリケーション/フォルダに耳を置く? –

+0

私は耳のファイルのwebappsフォルダをコピーしてみました。がありますアプリのフォルダはありません。 –

関連する問題