当前位置: 首页 > 面试题库 >

如何在Netbeans的清单类路径中包含lib文件夹

鲜于宜修
2023-03-14
问题内容

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

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

我变了:

<attribute name="Class-Path" value="${jar.classpath}"/>

至:

<attribute name="Class-Path" value="${jar.classpath} /lib"/>

问题在于,由于该文件是自动生成的,因此netbeans将覆盖它。



 类似资料:
  • 问题内容: 我目前正在尝试获取我的HBase代码以使用hbase-site.xml中指定的设置。似乎使用的是默认设置,而不是hbase- site.xml配置文件中指定的设置。自更新文件以来,我已经重新启动了HBase群集,但是它仍未使用我更新的配置文件。 我正在使用的群集有2个节点,其中一个是主节点。两个节点上的配置文件都将主节点的IP指定为Zookeeper仲裁。我相信问题在于我没有使用hba

  • 我目前正在尝试使用Apache POI从java中读写excel (xlsx而不是xls)。问题是我不仅需要poi-oo XML jar,还需要依赖关系。我如何创建一个类路径来将所有这些链接在一起? 我目前使用的包括: < li>poi-ooxml-3.10 < li>poi-ooxml-schemas-3.10 < li>dom4j- 1.6.1 < li>xmlbeans-2.3.0 < li

  • 我正在使用一些apache HttpClient jar,所以我把它们放在我的项目的lib目录中,当Netbeans编译项目时,它复制lib并生成一个项目jar到dist目录中,但是当我使用webstart运行项目时,我需要将项目jar和lib复制到Tomcat的根目录中,我想知道Netbeans是否可以生成一个包含lib目录中所有jar的项目jar,这样我就不必将项目jar和lib目录复制到To

  • 在我的webapp中;默认情况下,在类路径中添加WEB-INF/lib,这很好。现在,我想在tomcat的类路径中添加spring jar文件。如果我将所有jar文件放在WEB-INF/lib中;它工作得很好。但如果我想添加一个WEB-INF/lib/spring目录,并将所有jar文件放在spring目录中;它不起作用。如何在类路径中包含WEB-INF/lib/spring。 我更喜欢在web.

  • 问题内容: 例如,我要压缩存储在/Users/me/Desktop/image.jpg中的文件 我做了这个方法: 但是,当我提取文件时,解压缩的文件具有完整路径。 我不希望zip中每个文件的完整路径,而只想要文件名。 我该怎么做? 问题答案: 这里: 您正在使用整个路径为该文件创建条目。如果仅使用名称(不带路径),则将具有所需的内容:

  • 问题内容: 我们有一个基于NetBeans平台的NetBeans开发的应用程序。我们有一个运行时依赖的第三方程序,更具体地说是其他progams lib文件夹中的jar。 我们应该如何在类路径中包含其他progam的jar? 其他程序制造商的建议是将环境变量CLASSPATH设置为包括 如果不可能,我们应该将JAR.jar复制到 我们一定不能将JAR.jar复制到其他任何地方,否则可能会导致其停止