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がいくつかのマルチスレッドのことをしているようです....遅いことはうまくいきます!!! 助けてください
誰かが以前にそのような問題に直面したことがありますか?