2012-12-04 9 views
12

Maven 3を使用していますが、webappフォルダの下にMETA-INFフォルダを追加しようとしています。だから私は、次の操作を行いますしようとしています:私はMETA-INF \ののcontext.xmlを追加したMaven WebApp META-INF context.xml

<?xml version="1.0"?> 
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
<modelVersion>4.0.0</modelVersion> 
<groupId>com.data</groupId> 
<artifactId>Java-WebApp</artifactId> 
<version>0.0.1-SNAPSHOT</version> 
<packaging>war</packaging> 

<name>Java-Web Application</name> 

<!-- Shared version number properties--> 
<properties> 
<org.springframework.version>3.0.6.RELEASE</org.springframework.version> 
</properties> 

<dependencies> 
<dependency> 
    <groupId>junit</groupId> 
    <artifactId>junit</artifactId> 
    <version>3.8.1</version> 
    <scope>test</scope> 
    </dependency> 
</dependencies> 
<build> 
<finalName>data</finalName> 
</build> 

<parent> 
<groupId>com.data</groupId> 
<artifactId>Java-Parent</artifactId> 
<version>0.0.1-SNAPSHOT</version> 
</parent> 
</project> 

のsrc//メインリソースの下で:

src 
main 
    webapp 
    META-INF 
    context.xml 
    WEB-INF 

以下は私のPOMファイルです。

data 
webapp 
    META-INF 
    WEB-INF 
    index.jsp 

WEB-INFの下の関連ファイルを見ることができます:WARファイルはMVNパッケージを使用してパッケージ化された場合の構造は、次のようになります。ただし、META-INFフォルダは空白です。私のデフォルトMavenは、WEB-INF/classesの下にリソースを追加します。

私は特に持っていると思いたい:

data 
webapp 
    META-INF 
    context.xml 
    WEB-INF 

どのようにこれは可能ですか?私は他のものを試しましたが、それでも動作しません。

<?xml version="1.0" encoding="UTF-8"?> 
<Context path="/data1"/> 

私はメイン\リソース\ SRCからMETA-INFフォルダを削除しようとした直接のwebapp \ META-INFの下にそれを入れている:context.xmlには、以下が含まれています。 context.xmlが表示されますが、Tomcatにデプロイすると、私が定義したコンテキストルートは機能しません。

+0

これが機能するかどうかは不明ですが、 'META-INF'フォルダを' resources/META-INF'に移動しようとするとよいでしょう。 – frececroka

+0

最初の問題は解決しましたか? –

+0

いいえ、問題は引き続き存在します。 – user1646481

答えて

22

src/main/resourcesにMETA-INFフォルダを入れてください。

これをあなたのpom.xmlに入れてください...申し訳ありません。

<build> 
<plugins> 
    <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-war-plugin</artifactId> 
      <version>3.0.0</version> 
      <configuration> 


       <archive> 
        <manifest> 
         <addClasspath>true</addClasspath> 
         <classpathPrefix>lib/</classpathPrefix> 
        </manifest> 
       </archive> 

       <webResources> 
        <resource> 
         <!-- this is relative to the pom.xml directory --> 
         <directory>${project.basedir}/src/main/resources 
         </directory> 

        </resource> 
       </webResources> 



       <warName>mywar</warName> 
      </configuration> 
     </plugin> 
</plugins> 
</build> 

Webリソースタグは、これは

+0

これはうまくいきますが、WebアプリケーションをロードするTomcatではコンテキストルートは機能しません。 – user1646481

+0

このリンクはあなたを助けるかもしれません、http://stackoverflow.com/questions/2593472/define-servlet-context-in-war-file – dinukadev

1

が代わりにタグを使用できます...重要なもの 希望です。上記の答えは、src/main/resourcesにあるすべてのものをWebアプリケーションのルートにコピーすることを使用しています。これはおそらくあなたがやりたいことでも、あなたが従いたい例でもありません。

関連する問題