11

13 のサブモジュールを含む Maven プロジェクトがあります。ビルド プロセスを最適化する方法について 2 つの質問があります。

  1. x86-64 サーバー専用の Java コードをコンパイルしたい。これを行うためにMavenを構成するにはどうすればよいですか?
  2. 4 つの CPU コアを搭載したサーバーがあります。コードのコンパイルにマルチスレッドを使用できますか?
4

5 に答える 5

15

2) mvn package -T 2CCPU コアごとに 2 つのスレッドでビルドされます

于 2012-07-24T11:50:56.030 に答える
11
  1. x86-64 サーバー専用の Java コードをコンパイルしたい。これを行うためにMavenを構成するにはどうすればよいですか?

Java はクロスプラットフォームです。x86-64 のみでコンパイルすることはできません。

.2. 4 つの CPU コアを搭載したサーバーがあります。コードのコンパイルにマルチスレッドを使用できますか?

javacマルチスレッドです。持っているすべてのコアを使用するわけではないかもしれませんが、それは可能な限りマルチスレッド化されています。

アンドリューが指摘しているように、ビルドをマルチスレッド化して、テストを同時に実行することができます (テストを中断する可能性があります)。これはコンパイルを並行させません。

于 2012-07-24T11:48:25.090 に答える
5
  1. Maven は standard を呼び出しますjavac
  2. はい、可能です。Maven 3 での並列ビルドを参照してください。
于 2012-07-24T11:48:31.453 に答える
4

少し前に、コンパイラのパフォーマンスを向上させるためにこの pom 構成について読みました

       <plugin>
           <groupId>org.apache.maven.plugins</groupId>
           <artifactId>maven-compiler-plugin</artifactId>
           .....
           <dependencies>
               <dependency>
                   <groupId>org.codehaus.plexus</groupId>
                   <artifactId>plexus-compiler-javac</artifactId>
                   <version>1.8.6</version>
               </dependency>
           </dependencies>
       </plugin>

私はそれを試していませんが、あなたにとって興味深いかもしれません。

この改善の説明は、ここにあります。

于 2012-07-24T14:26:52.830 に答える
2

並列ビルド(上記の-Tnフラグ)に加えて、プロファイルの下にあらゆる種類の余分なものを隠すことができるかどうかを確認します-デフォルトでテストをオフに設定し、あらゆる種類のタグ付け、コード分析、リモートリポジトリへの配布などをオプションで実行します。Mavenでより多くのメモリをスローすることもできます(MAVEN_OPTS env。var)

于 2012-07-24T11:56:31.800 に答える