2015-07-12 40 views
0

我在線搜索了我的問題,但許多答案都與Spring MVC相關,這些答案不符合我的期望。我正在使用Maven,我想用普通的java,而不是像Spring那樣的任何框架等。如何將子項目中的源代碼包包含在主項目的web.xml中

我正在嘗試構建一個java動態web應用程序項目,並將項目分解爲兩部分SubProject子項目)和MainProject(主項目名稱)(實際上主項目由5個子項目組成,但與我的問題無關,所以我簡化了案例)。我想將SubProject視爲MainProject的庫,並且可以使用Maven構建所有項目。 SubProject不是一個動態Web應用程序項目,因此它沒有部署描述符web.xml,MainProject是一個帶有web.xml的動態Web應用程序項目。

現在假設我在SubProject的包com.my.package中編寫了一個java過濾器MyFilter.java,並且需要在MainProject的web.xml中配置它,以便MyFilter可以爲特定的url模式工作。 。出現這個問題是因爲我不知道如何將子項目中的源代碼包包含到web.xml中的MainProject中。

我不知道如何通過在spring.xml以下配置做,在Spring MVC中: <context:component-scan base-package="com.my.package" />
其中com.my.package是源包子項目。此外,在web.xml中,包括:
<context-param> <param-name>contextConfigLocation</param-name> <param-value> /WEB-INF/spring.xml </param-value> </context-param> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener>

因爲我不想使用Spring框架,我正在尋找一些方法來配置我的web.xml類似於我在spring.xml一樣。有沒有人有一個想法如何將源代碼包(和類)包含在一個子項目中的Java Web應用程序的主項目?

回答

0

如果你做到以下幾點:在pom.xml中<packaging>war</packaging>

  • 配置子項目建立一個JAR:

    • 配置MainProject建立一個戰爭的pom.xml <packaging>jar</packaging>
    • 添加子項目的依賴到MainProject:
    <dependencies> 
        <dependency> 
        <groupId>groupId.of.SubProject</groupId> 
        <artifactId>SubProject</artifactId> 
        <version>x.x.x</version> 
        </dependency> 
    </dependencies> 
    

    可以在MainProject的web.xml使用過濾器從子項目:

    <filter> 
        <filter-name>MyFilter</filter-name> 
        <filter-class>com.my.package.MyFilter</filter-class> 
    </filter> 
    <filter-mapping> 
        <filter-name>MyFilter</filter-name> 
        <url-pattern>/*</url-pattern> 
    </filter-mapping> 
    
  • +0

    是。我自己想清楚了,不過謝謝你。 –

    相關問題