gpt4 book ai didi

java - 如何在 Netbeans 的 list 类路径中包含 lib 文件夹

转载 作者:行者123 更新时间:2023-11-30 06:38:54 28 4
gpt4 key购买 nike

我的 java 应用程序使用的库需要在类路径中查找文件 (log4j.xml)。我使用 netbeans 来管理我的项目,但我找不到包含 lib/文件夹的方法。

Netbeans 会自动在应用程序 jar 中创建一个 MANIFEST.MF 文件,还会创建一个名为 lib/的文件夹,其中包含所有依赖项。此 list 指定一个 Class-Path 属性,该属性覆盖命令行上提供的任何 -cp 参数。我可以在 netbeans 的库面板中选择一个任意文件夹,但它会在 list 的类路径中创建一个子文件夹。我想要 lib/文件夹中的所有依赖项和 log4j.xml 文件。

希望可以在 IDE 中执行此操作。我包含了一段自动生成的 build-impl.xml 文件。

<target depends="init,compile,-pre-pre-jar,-pre-jar" if="manifest.available+main.class+mkdist.available" name="-do-jar-with-libraries">
<property location="${build.classes.dir}" name="build.classes.dir.resolved"/>
<pathconvert property="run.classpath.without.build.classes.dir">
<path path="${run.classpath}"/>
<map from="${build.classes.dir.resolved}" to=""/>
</pathconvert>
<pathconvert pathsep=" " property="jar.classpath">
<path path="${run.classpath.without.build.classes.dir}"/>
<chainedmapper>
<flattenmapper/>
<globmapper from="*" to="lib/*"/>
</chainedmapper>
</pathconvert>
<taskdef classname="org.netbeans.modules.java.j2seproject.copylibstask.CopyLibs" classpath="${libs.CopyLibs.classpath}" name="copylibs"/>
<copylibs compress="${jar.compress}" jarfile="${dist.jar}" manifest="${manifest.file}" runtimeclasspath="${run.classpath.without.build.classes.dir}">
<fileset dir="${build.classes.dir}"/>
<manifest>
<attribute name="Main-Class" value="${main.class}"/>
<attribute name="Class-Path" value="${jar.classpath}"/>
</manifest>
</copylibs>
<echo>To run this application from the command line without Ant, try:</echo>
<property location="${dist.jar}" name="dist.jar.resolved"/>
<echo>java -jar "${dist.jar.resolved}"</echo>
</target>

谢谢。

最佳答案

您不应编辑 build-impl.xml 文件,而应将此条目添加到 build.xml 文件中。当您修改项目中与该项目构建相关的任何内容时,它将生成一个新的 build-impl.xml 文件。

这是我放入 build.xml 文件的示例:

<target depends="init" name="-do-clean">
<delete dir="${build.dir}"/>
<delete file="${dist.jar}"/>
<delete dir="${dist.dir}/lib"/>
<delete dir="${dist.dir}/resources"/>
</target>

由于我将它放在 build.xml 文件中,它将覆盖 build-impl.xml 文件的“-do-clean”部分,其中包含:

<target depends="init" name="-do-clean">
<delete dir="${build.dir}"/>
<delete dir="${dist.dir}" followsymlinks="false" includeemptydirs="true"/>
</target>

此外,由于它在 build.xml 中,因此不会被 Netbeans 修改。

关于java - 如何在 Netbeans 的 list 类路径中包含 lib 文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1702511/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com