1

m少し修正しました.....Mavenに非常に新しいmは言うまでもありません

ものをグーグルで検索し、マルチモジュールプロジェクトを作成しました.....マスターPOMにタグ付けされたassembly.xmlを使用して、すべてのモジュールアーティファクト*.jarを最終的なsi-installer.jarにアーカイブします。

これが私のマスターポンポンのようなワットです

 <modules>
    <module>si_config_support/src/main/java/com/tcs/bancs/si</module>
    <module>SI_CORE/src/main/xsd</module>
    <module>SI_CORE/src/main/java/com/tcs/bancs/si/core</module>
    <module>SI_CORE/src/main/java/com/tcs/bancs/si/impl/adapter/jmsadapter</module>
    <module>SI_CORE/src/main/java/com/tcs/bancs/si/impl/actions</module>
    <module>SI_CORE/src/main/java/com/tcs/bancs/si/core/process/message</module>
    <module>SI_CORE/src/main/java/com/tcs/bancs/si/main</module>
</modules>

<build>
    <extensions>
        <extension>
            <groupId>org.apache.maven.wagon</groupId>
            <artifactId>wagon-ssh</artifactId>
            <version>1.0-beta-7</version>
        </extension>
    </extensions>  

    <plugins>
        <plugin>

<groupId>org.codehaus.mojo</groupId>  
<artifactId>wagon-maven-plugin</artifactId>  
<version>1.0-beta-3</version>  
  <executions>
    <execution>
      <id>upload-javadoc</id>
      <phase>deploy</phase>
      <goals>
        <goal>upload</goal>
      </goals>
      <configuration>
        <serverId>InBlrBnc107</serverId>
        <fromDir>/home0/u485309/User/Maven_SonarTest/target</fromDir>
        <includes>*.jar</includes>
        <excludes>pom.xml</excludes>
        <url>http://172.19.97.248:8081/artifactory/simple</url>
        <toDir>SIDeployment/Service-Integrator/si-main</toDir>
      </configuration>
      </execution>
    </executions>
    </plugin>


        <!--plugin>
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-antrun-plugin</artifactId>
    <version>1.6</version>
    <executions>
      <execution>
        <phase>deploy</phase>
        <configuration>
          <target>
            <scp file="/home0/u485309/User/Maven_SonarTest/target/si-installer-9.0.jar" todir="sidevperf:password@172.19.98.18:/home/sidevperf/USERS" trust="true"/>
          </target>
        </configuration>
        <goals>
          <goal>run</goal>
        </goals>
      </execution>
    </executions>
     <dependencies>
          <dependency>  
            <groupId>ant-jsch</groupId>  
            <artifactId>ant-jsch</artifactId>  
            <version>1.8.1</version>  
        </dependency> 

        <dependency>          
            <groupId>com.jcraft</groupId>           
            <artifactId>jsch</artifactId>          
            <version>0.1.42</version>       
       </dependency>  
     </dependencies> 
  </plugin-->

        <plugin>
            <groupId>org.apache.maven.plugins</groupId> 
            <artifactId>maven-install-plugin</artifactId>
            <version>2.4</version>
            <configuration>
                <createChecksum>true</createChecksum>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId> 
            <artifactId>maven-assembly-plugin</artifactId>
            <version>2.4</version>
            <configuration>
                <appendAssemblyId>false</appendAssemblyId>
                <finalName>si-installer-9.0</finalName>
                <descriptors>
                    <descriptor>si-assembly.xml</descriptor>
                </descriptors>
                <attach>false</attach>
                <archive>
                    <manifest>
                        <mainClass>com.tcs.mswitch.installer.Install</mainClass>
                    </manifest>
                </archive>
            </configuration>
            <executions>
                <execution>
                    <id>make-assembly</id>
                    <phase>install</phase>
                    <goals>
                        <goal>single</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-dependency-plugin</artifactId>
            <version>2.1</version>
            <executions>
                <execution>
                    <id>copy-dependencies</id>
                    <phase>package</phase>
                    <goals>
                        <goal>copy-dependencies</goal>
                    </goals>
                    <configuration>
                        <outputDirectory>${project.basedir}/installer/thirdparty-lib</outputDirectory>
                        <overWriteIfNewer>true</overWriteIfNewer>
                        <includeScope>provided</includeScope>
                        <outputAbsoluteArtifactFilename>true</outputAbsoluteArtifactFilename>
                    </configuration>
                </execution>    
            </executions>
        </plugin>

私のsiアセンブリは次のようになります。

<assembly>
<id>Service-Integrator</id>
<formats>
    <format>jar</format>
</formats>
<includeBaseDirectory>false</includeBaseDirectory>

<fileSets>
    <fileSet>
        <directory>/home0/u485309/User/Maven_SonarTest/si_config_support/src/main/java/com/tcs/bancs/si/target</directory>
        <outputDirectory>SI_COMPONENTS/lib</outputDirectory>
        <includes>
            <include>si-config-support-9.0.jar</include>
        </includes>
    </fileSet>
    <fileSet>
        <directory>/home0/u485309/User/Maven_SonarTest/SI_CORE/src/main/xsd/target</directory>
        <outputDirectory>SI_COMPONENTS/lib</outputDirectory>
        <includes>
            <include>si-config-9.0.jar</include>
        </includes>
    </fileSet>
    <fileSet>
        <directory>/home0/u485309/User/Maven_SonarTest/SI_CORE/src/main/java/com/tcs/bancs/si/core/target</directory>
        <outputDirectory>SI_COMPONENTS/lib</outputDirectory>
        <includes>
            <include>si-core-9.0.jar</include>
        </includes>
    </fileSet>

    <fileSet>
        <directory>/home0/u485309/User/Maven_SonarTest/SI_CORE/src/main/java/com/tcs/bancs/si/impl/adapter/jmsadapter/target</directory>
        <outputDirectory>SI_COMPONENTS/lib</outputDirectory>
        <includes>
            <include>si-jms-adapter-9.0.jar</include>
        </includes>
    </fileSet>
    <fileSet>
        <directory>/home0/u485309/User/Maven_SonarTest/SI_CORE/src/main/java/com/tcs/bancs/si/impl/actions/target</directory>
        <outputDirectory>SI_COMPONENTS/lib</outputDirectory>
        <includes>
            <include>si-processing-actions-9.0.jar</include>
        </includes>
    </fileSet>
    <fileSet>
        <directory>/home0/u485309/User/Maven_SonarTest/SI_CORE/src/main/java/com/tcs/bancs/si/core/process/message/target</directory>
        <outputDirectory>SI_COMPONENTS/lib</outputDirectory>
        <includes>
            <include>si-message-processor-9.0.jar</include>
        </includes>
    </fileSet>
    <fileSet>
        <directory>/home0/u485309/User/Maven_SonarTest/SI_CORE/src/main/java/com/tcs/bancs/si/main/target</directory>
        <outputDirectory>SI_COMPONENTS/lib</outputDirectory>
        <includes>
            <include>si-main-9.0.jar</include>
        </includes>
    </fileSet>
    <fileSet>
        <directory>/home0/u485309/User/Maven_SonarTest/installer/groovy-dependencies</directory>
        <outputDirectory/>
        <includes>
            <include>**/*</include>
        </includes>
        <!--excludes>
            <exclude>META-INF/**/*</exclude>
        </excludes-->
    </fileSet>
    <fileSet>
        <directory>/home0/u485309/User/Maven_SonarTest/installer/thirdparty-lib</directory>
        <outputDirectory>SI_COMPONENTS/thirdparty-lib</outputDirectory>
        <includes>
            <include>*.jar</include>
        </includes>
        <excludes>
            <exclude>bancsjmx-2.0.jar</exclude>
            <exclude>xsd.jar</exclude>
        </excludes>
    </fileSet>
    <fileSet>
        <directory>/home0/u485309/User/Maven_SonarTest/installer/thirdparty-lib</directory>
        <outputDirectory>SI_COMPONENTS/lib</outputDirectory>
        <includes>
            <include>bancsjmx-2.0.jar</include>
            <!--include>xsd.jar</include-->
        </includes>
    </fileSet>

    <fileSet>
        <directory>/home0/u485309/User/Maven_SonarTest/DeliveryComponents</directory>
        <outputDirectory>SI_COMPONENTS</outputDirectory>
        <includes>
            <include>**/*</include>
        </includes>
    </fileSet>
</fileSets>

私には2つの問題があります-:

1)すべてのフェーズがモジュールごとに実行されるため、最終的なjarとなるsi-installer.jarがすべてのモジュールに対して作成され、antタスクもすべてのモジュールに対して実行されます。すべてのフェーズ?パッケージやデプロイなどのフェーズを停止して、すべてのサブモジュールのコンパイルが完了した後にのみ実行するにはどうすればよいですか?

2)最終的なアーティファクトjar si-installer.jarにすべてのサブモジュールjarが含まれる場合もあれば、単一のjar(assembly.xmlのファイルセットで最後に言及されたbancsjmx.jar)のみが最終的なアーティファクトsi-installer.jarに含まれる場合もあります。 assembly.xmlのbancsjmx.jarはどれですか、私は困惑していますか?また、この動作は散発的です...時々私はすべてのjarを最終的なjarに入れます....時々私が言ったように1つだけ..mavenがいくつかのマルチスレッドのことをしているようです....遅いことはうまくいきます!!! 助けてください

誰かが以前にそのような問題に直面したことがありますか?

4

0 に答える 0