Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在maven pom.xml中使用带有classpathPrefix的子目录_Java_Maven - Fatal编程技术网

Java 在maven pom.xml中使用带有classpathPrefix的子目录

Java 在maven pom.xml中使用带有classpathPrefix的子目录,java,maven,Java,Maven,我使用下面的代码在maven pom.xml中构建一个类路径 <manifest> <addClasspath>true</addClasspath> <classpathPrefix>lib/</classpathPrefix> </manifest&g

我使用下面的代码在maven pom.xml中构建一个类路径

                    <manifest>
                        <addClasspath>true</addClasspath>
                        <classpathPrefix>lib/</classpathPrefix> 
                    </manifest>

真的
lib/
“lib”下有一个目录,我也想将它添加到类路径中,但它似乎没有找到它


有什么方法可以做到这一点吗?

使用jar插件无法做到这一点。试试assembly plugin,它更灵活

如果您想在清单文件的类路径中添加一个目录,您可以在pom.xml中添加类似的内容

 <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-jar-plugin</artifactId>
        <configuration>
            <archive>
                <manifest>
                    <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
                    <addClasspath>true</addClasspath>
                    <mainClass>your_main_class</mainClass>
                </manifest>
                <manifestEntries>
                    <Class-Path>lib/myfolder/</Class-Path>
                </manifestEntries>
            </archive>
        </configuration>
   </plugin>

org.apache.maven.plugins
maven jar插件
真的
真的
你的主课
lib/myfolder/

为什么它似乎没有把它捡起来?它没有出现在manifest.mf中吗?可能对您有帮助否-不显示在清单中抱歉,更正-它确实显示在清单中,但它不会将lib下的目录添加到路径中,因此lib/myfolder/myjar.jar在清单中变为lib/myjar.jar-它不保留文件夹路径。这将加载lib/myfolder/中的所有依赖项,但不会加载lib/中的任何依赖项。我需要它来支持lib/和lib/myfolder/。您是否尝试过使用lib/或同时添加它们?添加多个条目似乎没有任何区别,它只拾取最后一个条目:
lib/lib/mylib1 lib/mylib2
在这种情况下,只有mylib2放在类路径上,我不知道它是否有效,但是如果你放了这样的东西会发生什么:lib/mylib1 lib/mylib2对不起,我帮不了你。也许这根线可以