2

私は Maven 3.0.4 と Jython 2.5.2 および Pygments 1.5 (卵を介して) を使用しています。jython-compile-maven-plugin を次のように構成しました。

<plugin>
<groupId>net.sf.mavenjython</groupId>
<artifactId>jython-compile-maven-plugin</artifactId>
<version>1.2</version>
<executions>
    <execution>
        <phase>package</phase>
        <goals>
            <goal>jython</goal>
        </goals>
    </execution>
</executions>
<configuration>
    <libraries>
        <!-- Install the latest pygments library -->
        <param>Pygments</param>
    </libraries>
</configuration>

mvn install を実行すると、作成された JAR には、 Libフォルダーに埋め込まれたPygmentsライブラリが含まれます。これにより、すべてのコードが正常に動作することが保証されます。

mvn release:prepareコマンドを実行すると問題が発生します。この場合、私のコードだけが JAR 内に入り、Pygmentsライブラリは除外されます。target/classesフォルダの中を見ると、コードと必要な pygments ライブラリの両方が含まれています。

私が行方不明または間違っている可能性があることについて何か考えはありますか?

4

1 に答える 1

0

たくさんのヒットと試運転の後、問題を自己修正することができました。このソリューションでは、maven-jar-pluginを構成して、 target/classesフォルダー内のすべてのファイルを含めます。このようにして、installターゲットとrelease:prepareターゲットの両方がまったく同じバイナリをビルドします。

<plugin>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
    <includes>
        <include>**</include>
    </includes>
</configuration>
<executions>
    <execution>
        <phase>package</phase>
        <goals>
            <goal>jar</goal>
        </goals>
    </execution>
</executions>
</plugin>

プロジェクトで使用するビルド エントリ全体は次のとおりです。

<build>
<plugins>
    <!-- set compilation properties -->
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>2.3.2</version>
        <configuration>
            <source>1.6</source>
            <target>1.6</target>
        </configuration>
    </plugin>

    <!-- Generate the project-javadoc.jar for OSS repository -->
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-javadoc-plugin</artifactId>
        <version>2.8.1</version>
    </plugin>

    <!-- Generate the project-sources.jar for OSS repository -->
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-source-plugin</artifactId>
        <version>2.1.2</version>
    </plugin>

    <!-- Install Jython and Pygments library -->
    <plugin>
        <groupId>net.sf.mavenjython</groupId>
        <artifactId>jython-compile-maven-plugin</artifactId>
        <version>1.2</version>
        <executions>
            <execution>
                <phase>package</phase>
                <goals>
                    <goal>jython</goal>
                </goals>
            </execution>
        </executions>
        <configuration>
            <libraries>
                <!-- Install the latest pygments library -->
                <param>Pygments</param>
            </libraries>
        </configuration>
    </plugin>       

    <plugin>
        <artifactId>maven-jar-plugin</artifactId>
        <configuration>
            <includes>
                <include>**</include>
            </includes>
        </configuration>
        <executions>
            <execution>
                <phase>package</phase>
                <goals>
                    <goal>jar</goal>
                </goals>
            </execution>
        </executions>
    </plugin>
</plugins>
</build>

お役に立てれば。

于 2012-07-25T03:27:09.250 に答える