2016-08-29 9 views
0

これらのモジュールの1つがSpringブートを使用するマルチモジュールmavenプロジェクトがあります。オープンブート環境でJavaクラスをパッケージ化していないSpringブートMavenプラグイン

自分のPCに自分のjarファイルをパッケージ化するとうまく動作し、すべてのJavaクラスがjarファイルに含まれていますが、Openshift環境でこれを実行するとJavaクラスではなくWebリソースのみが含まれます。

私は、アクションフックを使用して環境をセットアップし、私の瓶をパッケージし、それを稼働させるOpenshift DIYカートリッジを持っています。

最近の変更を加えるまで、この手順はうまくいきました。これは私のプロジェクトをモジュールに分割することでした。

親のpom.xml

<?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>XXXX</groupId> 
<artifactId>XXXX</artifactId> 
<version>XXXX</version> 
<packaging>pom</packaging> 

<modules> 
    <module>data</module> 
    <module>web</module> 
</modules> 

<properties> 
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> 
    <java.version>1.8</java.version> 

    <maven.compiler.plugin.version>3.5</maven.compiler.plugin.version> 
    <maven.jar.plugin.version>3.0.2</maven.jar.plugin.version> 
    <maven.clean.plugin.version>2.5</maven.clean.plugin.version> 
    <maven.spring-boot-maven-plugin.version>1.3.3.RELEASE</maven.spring-boot-maven-plugin.version> 
</properties> 

<build> 
    <pluginManagement> 
     <plugins> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-clean-plugin</artifactId> 
       <version>${maven.clean.plugin.version}</version> 
      </plugin> 

      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <version>${maven.compiler.plugin.version}</version> 
      </plugin> 

      <plugin> 
       <groupId>org.springframework.boot</groupId> 
       <artifactId>spring-boot-maven-plugin</artifactId> 
       <version>${maven.spring-boot-maven-plugin.version}</version> 
      </plugin> 

      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-jar-plugin</artifactId> 
       <version>${maven.jar.plugin.version}</version> 
      </plugin> 
     </plugins> 
    </pluginManagement> 

    <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <executions> 
       <execution> 
        <goals> 
         <goal>compile</goal> 
        </goals> 
       </execution> 
      </executions> 
      <configuration> 
       <source>${java.version}</source> 
       <target>${java.version}</target> 
      </configuration> 
     </plugin> 
    </plugins> 
</build> 

<dependencyManagement> 
    <dependencies> 
     ... 
    </dependencies> 
</dependencyManagement> 

<dependencies> 
    .... 
</dependencies> 

Webモジュールのpom.xml

<?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> 

<parent> 
    <groupId>XXXX</groupId> 
    <artifactId>XXXX</artifactId> 
    <version>1.2.3</version> 
</parent> 

<artifactId>XXXX</artifactId> 
<packaging>jar</packaging> 

<properties> 
    ... 
</properties> 

<build> 
    <finalName>${project.name}-${project.version}</finalName> 
    <resources> 
     <resource> 
      <directory>${project.resources.path}</directory> 
     </resource> 
    </resources> 

    <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-clean-plugin</artifactId> 
      <configuration> 
       <filesets> 
        <fileset> 
         <directory>deployments</directory> 
         <includes> 
          <include>*.jar</include> 
          <followSymlinks>false</followSymlinks> 
         </includes> 
        </fileset> 
       </filesets> 
      </configuration> 
     </plugin> 

     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-jar-plugin</artifactId> 
     </plugin> 

     <plugin> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-maven-plugin</artifactId> 
      <executions> 
       <execution> 
        <goals> 
         <goal>repackage</goal> 
        </goals> 
       </execution> 
      </executions> 
      <configuration> 
       <mainClass>XXXX</mainClass> 
       <finalName>XXXX</finalName> 
       <outputDirectory>../deployments</outputDirectory> 
       <excludeGroupIds>org.seleniumhq.selenium,org.projectlombok</excludeGroupIds> 
      </configuration> 
     </plugin> 
    </plugins> 
</build> 

<dependencies> 
    .... 
</dependencies> 

データモジュールのpom.xml

<?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> 

<parent> 
    <groupId>XXXX</groupId> 
    <artifactId>XXXX</artifactId> 
    <version>1.2.3</version> 
</parent> 

<artifactId>XXXX</artifactId> 
<packaging>jar</packaging> 

<properties> 
.... 
</properties> 

<build> 
    <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-jar-plugin</artifactId> 
     </plugin> 
    </plugins> 
</build> 

<dependencies> 
.... 
</dependencies> 

のMavenコマンド私はOpenshiftボックスに(Openshiftカートリッジで実行)瓶

${OPENSHIFT_DATA_DIR}${MVN_LINK}/bin/mvn clean install -s  
.openshift/action_hooks/settings.xml -DskipTests=true -P prod 

MVN -vコマンドをパッケージ化するために使用するには、

Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11- 10T11:41:47-05:00) 
Maven home: /var/lib/openshift/5713d8630c1e66bfc5000085/app- root/data/maven 
Java version: 1.8.0_101, vendor: Oracle Corporation 
Java home: /var/lib/openshift/5713d8630c1e66bfc5000085/app- root/data/jdk1.8.0_101/jre 
Default locale: en_US, platform encoding: UTF-8 
OS name: "linux", version: "2.6.32-573.26.1.el6.x86_64", arch: "i386", family: "unix" 

たjarファイルは、すべてのLIBSが含まれています、.propertiesファイル、Webリソースなどですが、Javaクラスの兆候はありません。

私は何が欠けていますか?なぜJavaクラスもパッケージ化されていないのですか?

感謝

答えて

0

はCASEは、私は問題を発見した

を閉じました。私は誤ってWebモジュールのsrcフォルダをgitignoredしていたので、Openshiftカートリッジのgitリポジトリにコミットされていたものは何もなかったので、Jarファイルにjavaファイルがパッケージ化されていませんでした。私には恥ずべき! ;-)

関連する問題