2

私はmavenアセンブリを使用して、実行可能なjarファイルをその依存関係とリソースとともにパックしています。リソース (Spring アプリケーション コンテキスト) は jar から除外されます。を実行するmvn assembly:assemblyと、テストが実行され、ビルドが成功します。ただし、アセンブリのパッケージ化後に実行可能 jar を実行すると、FileNotFoundException. パックされているSpring Frameworkなどの依存関係\libが見つかります。リソースmy-application-context.xmlファイルも の下にパッケージ化されて\libいます。助けていただけますか?

ここにPOMがあります:

<plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-assembly-plugin</artifactId>
            <version>2.2.2</version>
            <configuration>
                <descriptors>
                    <descriptor>src/main/assembly/assembly.xml</descriptor>
                </descriptors>
                <excludes>
                    <exclude>*.xml</exclude>
                </excludes>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <version>2.3.1</version>
            <configuration>
                <excludes>
                    <exclude>**/*.xml</exclude>
                </excludes>
                <archive>
                    <manifest>
                        <addClasspath>true</addClasspath>
                        <classpathPrefix>lib/</classpathPrefix>
                        <mainClass>com.myapp.MainClass</mainClass>
                    </manifest>
                </archive>
            </configuration>
        </plugin>
    </plugins>

および記述子:

<formats>
    <format>zip</format>
</formats>
<files>
    <file>
        <source>${project.basedir}/src/main/resources/my-application-context.xml</source>
        <outputDirectory>lib</outputDirectory>
    </file>
</files>
<dependencySets>
    <dependencySet>
        <useProjectArtifact>false</useProjectArtifact>
        <outputDirectory>lib</outputDirectory>
        <unpack>false</unpack>
    </dependencySet>
</dependencySets>
<fileSets>
    <fileSet>
        <directory>${project.build.scriptSourceDirectory}</directory>
        <outputDirectory>/</outputDirectory>
        <includes>
            <include>*.bat</include>
        </includes>
    </fileSet>
    <fileSet>
        <directory>${project.build.directory}</directory>
        <outputDirectory>/</outputDirectory>
        <includes>
            <include>*.jar</include>
        </includes>
    </fileSet>
</fileSets>
4

1 に答える 1

1

依存関係 jar の INDEX.LIST ファイルに関連する、このあいまいな問題が発生している可能性があります。

于 2013-03-14T14:42:33.080 に答える