1

install目標は、結果のjarファイルに必要なすべての依存関係が展開に含まれることを意味する必要があると言われました。ただし、これは私にとってはうまくいかないようです。

ここに私のpom.xmlがあります:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>org.zone.commandit</groupId>
    <artifactId>CommandIt</artifactId>
    <version>0.2</version>
    <name>CommandIt</name>
    <repositories>
        <repository>
            <id>bukkit-repo</id>
            <url>http://repo.bukkit.org/content/groups/public</url>
        </repository>
        <repository>
            <id>milkbowl-repo</id>
            <url>http://ci.herocraftonline.com/plugin/repository/everything/</url>
        </repository>
    </repositories>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.0.2</version>
                <configuration>
                    <source>1.7</source>
                    <target>1.7</target>
                </configuration>
            </plugin>
        </plugins>
    </build>
    <dependencies>
        <dependency>
            <groupId>org.bukkit</groupId>
            <artifactId>bukkit</artifactId>
            <version>1.5.2-R1.0</version>
            <type>jar</type>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-io</artifactId>
            <version>1.3.2</version>
        </dependency>
        <dependency>
            <groupId>net.milkbowl.vault</groupId>
            <artifactId>Vault</artifactId>
            <version>1.2.26-SNAPSHOT</version>
            <type>jar</type>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>se.krka.kahlua</groupId>
            <artifactId>kahlua-cldc11</artifactId>
            <version>5.1_2.1.0</version>
        </dependency>
        <dependency>
            <groupId>se.krka.kahlua</groupId>
            <artifactId>kahlua-core</artifactId>
            <version>5.1_2.1.0</version>
        </dependency>
        <dependency>
            <groupId>se.krka.kahlua</groupId>
            <artifactId>kahlua-interpreter</artifactId>
            <version>5.1_2.1.0</version>
        </dependency>
        <dependency>
            <groupId>se.krka.kahlua</groupId>
            <artifactId>kahlua-j2se</artifactId>
            <version>5.1_2.1.0</version>
        </dependency>
    </dependencies>
</project>

このことから、commons-io と kahlua ライブラリー (ローカル・リポジトリーにインストールされている) を含む CommandIt-0.2.jar ファイルが期待されます。bukkit と Vault の依存関係は、ランタイム環境で提供されるため、含めないでください。

しかし、プロジェクトの jar ファイルを 7zip で調べると、META-INF と自分のソース コードしか見つかりません。私は何を間違っていますか?

4

3 に答える 3

0

Maven の依存関係は、ローカルの Maven リポジトリにダウンロードされます。通常は、ユーザーのホーム ディレクトリの .m2 ディレクトリです。JAR をパッケージ化しても、他の JAR は結果に含まれません。Web アプリケーションを作成する場合は、WAR (または EAR) のパッケージ化を使用します。WAR ファイルには、JAR inc があります。すべての依存関係が含まれています。

于 2013-06-25T16:13:35.130 に答える
0

mvn installビルドされたアーティファクト (この場合はコードを含む JAR ファイル) を、通常は ~/.m2/repository にあるローカル リポジトリに配置するプラグインを実行します。

JAR やシェル スクリプトを含む tarball など、配布するものをアセンブルしたい場合は、Maven アセンブリ プラグインを調べます。コードと依存関係のコードを含む単一の JAR ファイルをアセンブルする場合は、 jar-with-dependencies記述子を使用して Maven アセンブリ プラグインを実行できます。

于 2013-06-25T16:24:27.567 に答える