Mavenの中にデlombokedソースjarを作成してインストール

coderatchet:

免責事項:私は、この問題を解決していると知っている世界のためのソリューションを文書化しています。

どのようにして作成してインストールします*-sources.jar含むMavenの中にソースコードを「delomboked」?

デフォルトでは、Mavenのソース・プラグインは、ソースファイルを不整合に文句を言うために、ライブラリのバイナリに依存プロジェクトの原因となるソースファイルを、delombokingせずに元のjarファイルを作成します。

coderatchet:

TL; DRは(下に説明しました)

あなたに以下のプラグインの設定を追加pluginsで設定project.buildあなたのpom.xmlの要素

<project>
    ...
<build>
<plugins>
    ...
<plugin>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok-maven-plugin</artifactId>
    <version>1.18.0.0</version>
    <executions>
        <execution>
            <phase>generate-sources</phase>
            <goals>
                <goal>delombok</goal>
            </goals>
        </execution>
    </executions>
    <configuration>
        <sourceDirectory>src/main/java</sourceDirectory>
        <outputDirectory>${project.build.directory}/delombok</outputDirectory>
        <addOutputDirectory>false</addOutputDirectory>
        <encoding>UTF-8</encoding>
    </configuration>
</plugin>
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-resources-plugin</artifactId>
    <version>3.1.0</version>
    <executions>
        <execution>
            <id>copy-to-lombok-build</id>
            <phase>process-resources</phase>
            <goals>
                <goal>copy-resources</goal>
            </goals>
            <configuration>
                <resources>
                    <resource>
                        <directory>${project.basedir}/src/main/resources</directory>
                    </resource>
                </resources>
                <outputDirectory>${project.build.directory}/delombok</outputDirectory>
            </configuration>
        </execution>
    </executions>
</plugin>
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-antrun-plugin</artifactId>
    <version>1.8</version>
    <executions>
        <execution>
            <id>generate-delomboked-sources-jar</id>
            <phase>package</phase>
            <goals>
                <goal>run</goal>
            </goals>
            <configuration>
                <target>
                    <jar destfile="${project.build.directory}/${project.build.finalName}-sources.jar"
                         basedir="${project.build.directory}/delombok"/>
                </target>
            </configuration>
        </execution>
    </executions>
</plugin>
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-install-plugin</artifactId>
    <version>2.5.2</version>
    <executions>
        <execution>
            <id>install-source-jar</id>
            <goals>
                <goal>install-file</goal>
            </goals>
            <phase>install</phase>
            <configuration>
                <file>${project.build.directory}/${project.build.finalName}-sources.jar</file>
                <groupId>${project.groupId}</groupId>
                <artifactId>${project.artifactId}</artifactId>
                <version>${project.version}</version>
                <classifier>sources</classifier>
                <generatePom>true</generatePom>
                <pomFile>${project.basedir}/pom.xml</pomFile>
            </configuration>
        </execution>
    </executions>
</plugin>
</plugins>
</build>
</project>

説明

lombok-maven-plugin(ソースコードをdelombokすることができます${project.basedir}/src/main/java()とターゲット・ディレクトリに配置${project.build.directory}/delombok)。通常、これは、内のコードを配置します${project.build.directory}/generated-sources/delombokフォルダ、しかしのIntelliJは、自動的にこの追加のソース・コードを考慮するため、あなたのライブラリーを開発する際に、重複したコードのエラーがちょうどちょうどこの場合には(デフォルト以外のターゲットディレクトリを指定し、これを停止するために、発生します外generated-sourcesDIR)。

maven-resources-pluginまた、標準からリソースをコピーするために必要である${project.basedir}/src/main/resourcesディレクトリ。プロジェクト内の他の非標準のリソースディレクトリがある場合は、このプラグインのためのリソースセクションでそれらを設定する必要があります。

maven-antrun-plugin後ででカスタムソースディレクトリを指定することはできませんので、代わりにMavenのソース・プラグインの使用されています。私たちのカスタムへのjarタスクポイントは「-ソースを生成し、」標準-という名前のソースjarを生成します。

maven-install-plugin install-fileあなたが使用してjarファイル添付することはできませんので、目標は、使用されてinstallゴールを決めました。私たちは、手動で使用してファイルをインストールすることで解決策をハックすることができますinstall-fileの分類器と目標をsources

私はこれは私がこの問題にいたような闘争通りにある他の人に役立ちます願っています。

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=203955&siteId=1
おすすめ