java - 无法使用 maven-assembly-plugin 设置类路径

标签 java maven-2 classpath pom.xml executable-jar

我正在创建控制台应用程序。我希望在 conf 文件夹中的 jar 文件之外拥有配置文件,并希望将此文件夹注册为我的应用程序的类路径。

我运行 mvn assembly:single 命令,得到一个 jar 文件,但是当我尝试用 java -jar MyApplication.jar 运行这个 JAR 时,它不能读取配置文件。

我的 pom.xml 中有这个片段

<build>
    <finalName>MyApplication</finalName>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>2.3.1</version>
            <configuration>
                <source>1.6</source>
                <target>1.6</target>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-eclipse-plugin</artifactId>
            <version>2.7</version>  
            <configuration>
                <projectNameTemplate>
                    [artifactId]-[version]
                </projectNameTemplate>
                <wtpmanifest>true</wtpmanifest>
                <wtpapplicationxml>true</wtpapplicationxml>
                <wtpversion>2.0</wtpversion>
                <manifest>
                    ${basedir}/src/main/resources/META-INF/MANIFEST.MF
                </manifest>
            </configuration>

        </plugin>

        <plugin>
            <artifactId>maven-assembly-plugin</artifactId>
            <configuration>
                <descriptorRefs>
                    <descriptorRef>jar-with-dependencies</descriptorRef>
                </descriptorRefs>
                <appendAssemblyId>false</appendAssemblyId>
                <archive>
                    <manifest>
                        <mainClass>com.my.test.App</mainClass>
                    </manifest>
                    <manifestEntries>
                        <Class-Path>.conf/</Class-Path>
                    </manifestEntries>
                </archive>
            </configuration>
        </plugin>
    </plugins>
</build>

最佳答案

这是我的错误,我不得不把

<Class-Path>./conf/</Class-Path>

而不是

<Class-Path>.conf/</Class-Path>

关于java - 无法使用 maven-assembly-plugin 设置类路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15685196/

相关文章:

java - 从 jar 或类路径中的任何位置读取文件?

Java 加载非 JAR 扩展名的文件

linux - axis 1.4 linux求助-happyaxis不开心 AXISCLASSPATH全错了?

java - 如果我有一个类加载器实例,我能找到它在哪里寻找类字节吗?

java - 为什么这个只能工作一次?

java - 使用 Angular 从 HAL 表示中获取 id

java - 如何从 JSONObject Java 获取子属性

maven-2 - Tapestry5 应用程序未在 WTP Tomcat 服务器上运行

java - 格式化位置 - java

maven-2 - 多模块Maven项目和 jetty :run