0

私はIntellijをセットアップして、mavenを使用してコマンドラインから繰り返し実行していることを自動的に実行しmvn package -DskipTestsたいと考えています. 理想的には、変更した jar 内のクラスをホット アップデートするだけです。

プロジェクト構造の Artifact タブで Intellij に jar を作成するように指示する方法を理解しましたが、手動で設定する代わりに、Intellij に pom からこの成果物情報をインポートさせることはできますか?

  • pom の変更を自動インポートしますが、このアーティファクト情報をインポートすることはありません。
  • これにより、maven が生成するものの正確な出力名を使用できるようになるため、コマンドラインまたは IDE のどちらから作業していても、1 つの出力セットで作業できます。(理由は後述)

Appassemblyrは追加のステップを追加します。これには、すべての依存関係をターゲット フォルダーにコピーし、スクリプトを生成することが含まれます。Intellij が Appassemblyr をトリガーできない場合、代わりに Appassemblyr がシンボリック リンクを使用できるのではないかと考えていました。jar が更新されると、実行可能なアプリ スクリプトはすぐにそのバージョンを使用します。または、最悪の場合、コマンドラインからこの特定のステップを実行するだけで済み、jar は既にビルドされています。

アップデート

それが役立つ場合は、次のように Appassemblyr を my で使用しますpom.xml

<build>
  <plugins>
    <plugin>
      <executions>
        <execution>
          <id>package</id>
          <goals>
            <goal>assemble</goal>
          </goals>
        </execution>
      </executions>
      <groupId>org.codehaus.mojo</groupId>
      <artifactId>appassembler-maven-plugin</artifactId>
      <version>1.2.2</version>
      <configuration>
        <programs>
          <program>
            <mainClass>com.foo.bar.Foobnobicator</mainClass>
            <name>gofoo</name>
          </program>
        </programs>
      </configuration>
    </plugin>
  </plugins>
</build>

これを達成するための最良の方法についてのアドバイスをありがとう。

4

0 に答える 0