2017-06-12 3 views
0

src/main/resourcesディレクトリに含まれるものはすべてWARにパッケージ化されていると思いますか?Mavenに/src/main/resources/config.propsファイルが含まれていないのはなぜですか?

私は、次の構造をしている:

src/main/resources/META-INF/... 
src/main/resources/config.props 

META-INFが含まれていますが、config.propsではありません。これをWARに追加するにはどうすればよいですか?デフォルトでは

<?xml version="1.0" encoding="UTF-8"?> 
<project xmlns="http://maven.apache.org/POM/4.0.0" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 

    <groupId>groupId</groupId> 
    <artifactId>MyWAR</artifactId> 
    <version>1.2</version> 

    <packaging>war</packaging> 

    <!-- Tell Maven what language version to use --> 
    <properties> 
     <maven.compiler.source>1.8</maven.compiler.source> 
     <maven.compiler.target>1.8</maven.compiler.target> 
    </properties> 

    <dependencies> 

     <!-- https://mvnrepository.com/artifact/javax.enterprise/cdi-api --> 
     <dependency> 
      <groupId>javax.enterprise</groupId> 
      <artifactId>cdi-api</artifactId> 
      <version>2.0</version> 
     </dependency> 

     <!-- Enables the annotations, etc needed --> 
     <dependency> 
      <groupId>javax</groupId> 
      <artifactId>javaee-api</artifactId> 
      <version>7.0</version> 
      <exclusions> 
       <exclusion> 
        <groupId>javax.exterprise</groupId> 
        <artifactId>cdi-api</artifactId> 
       </exclusion> 
      </exclusions> 
     </dependency> 

     <!-- Our jersey libs --> 
     <dependency> 
      <groupId>org.glassfish.jersey.containers</groupId> 
      <artifactId>jersey-container-servlet-core</artifactId> 
      <version>2.25.1</version> 
     </dependency> 

     <!-- CDI to JAX-RS Binding --> 
     <!-- https://mvnrepository.com/artifact/org.glassfish.jersey.containers.glassfish/jersey-gf-cdi-ban-custom-hk2-binding --> 
     <dependency> 
      <groupId>org.glassfish.jersey.containers.glassfish</groupId> 
      <artifactId>jersey-gf-cdi</artifactId> 
      <version>2.14</version> 
     </dependency> 

     <!-- Jackson --> 
     <dependency> 
      <groupId>org.glassfish.jersey.media</groupId> 
      <artifactId>jersey-media-json-jackson</artifactId> 
      <version>2.25.1</version> 
     </dependency> 

     <!-- https://mvnrepository.com/artifact/org.jboss.weld.servlet/weld-servlet-core --> 
     <dependency> 
      <groupId>org.jboss.weld.servlet</groupId> 
      <artifactId>weld-servlet-core</artifactId> 
      <version>3.0.0.Final</version> 
     </dependency> 

     <!-- https://mvnrepository.com/artifact/org.jboss.weld/weld-core-impl --> 
     <dependency> 
      <groupId>org.jboss.weld</groupId> 
      <artifactId>weld-core-impl</artifactId> 
      <version>3.0.0.Final</version> 
     </dependency> 

     <dependency> 
      <groupId>org.apache.openjpa</groupId> 
      <artifactId>openjpa</artifactId> 
      <version>2.4.2</version> 
     </dependency> 

     <dependency> 
      <groupId>org.apache.openjpa</groupId> 
      <artifactId>openjpa-maven-plugin</artifactId> 
      <version>2.4.2</version> 
     </dependency> 

    </dependencies> 

    <build> 

     <!-- We don't use the version number in the file name --> 
     <finalName>MyWAR</finalName> 

     <plugins> 

      <!-- Enhances the JPA classes --> 
      <plugin> 
       <groupId>org.apache.openjpa</groupId> 
       <artifactId>openjpa-maven-plugin</artifactId> 
       <version>2.4.2</version> 
       <executions> 
        <execution> 
         <id>JPA Enhance</id> 
         <phase>process-classes</phase> 
         <goals> 
          <goal>enhance</goal> 
         </goals> 
         <configuration> 
          <includes>**/push/*.class</includes> 
          <excludes>**/com/*.class,**/controller/*.class,**/dao/*.class,**/dto/*.class,**/service/*.class,**/util/*.class</excludes> 
          <persistenceXmlFile>${project.basedir}/src/main/resources/META-INF/persistence.xml</persistenceXmlFile> 
          <toolProperties> 
           <property> 
            <name>addDefaultConstructor</name> 
            <value>false</value> 
           </property> 
           <property> 
            <name>enforcePropertyRestrictions</name> 
            <value>true</value> 
           </property> 
          </toolProperties> 
         </configuration> 
        </execution> 
       </executions> 
      </plugin> 

     </plugins> 
    </build> 
</project> 
+1

正確に 'config.props'ファイルを検索しましたか?これは、WEB-INF/classes'ディレクトリのWARにコピーする必要があります。 – Seelenvirtuose

+0

@SeelenvirtuoseどうすればWARのルートにコピーできますか? –

答えて

2

WARファイルのルートはリソースではなく、src/main/webappです。 WARファイルのファイルをWEB-INFの直下に置きたい場合は、src/main/webapp/WEB-INFに入れてください。 src/main/resourcesのリソースは、WARファイルの/WEB-INF/classesになります。例えば

、あなたのソースは次のように見える場合:

. 
|____ src 
| |____ main 
| | |____ resources 
| | | |____ config.props 
| | |____ webapp 
| | | |____ WEB-INF 
| | | | |_____ web.xml 
| | | |____ index.jsp 

あなたのWARファイルは次のようになります。

. 
|____ WEB-INF 
| |____ classes 
| | |____ config.props 
| |____ web.xml 
|____ index.jsp 
2

src/main/resourcesフォルダの内容は、クラスパスのルートにcopyiedされます。 Seelenvirtuoseが述べているように、標準のWARの場合はWEB-INF/classesフォルダになります。

0

/除外のMavenのリソースプラグインのドキュメント(ここではhttps://maven.apache.org/plugins/maven-resources-plugin/examples/include-exclude.html)でありますあなたのリソースの一部が含まれていない可能性があります。ドキュメントを参照して、標準以外のリソース(* .propsは標準のJavaプロパティファイル名ではない)をインクルードすることを確認したことを確認することができます。プロジェクトのデフォルトが機能しない場合は、ソースフォルダとターゲットフォルダを設定することもできます。

関連する問題