java - NetBeans - 使用不同的 lib 文件夹

标签 java netbeans

我只是想组织我的 Java lib 文件夹(使用 NetBeans)。

我想要的是这样的:

unknownNetworkDriveOrUncPath:\java\commonlib\
                                   |-- fileio.jar
                                   |-- ...

unknownNetworkDriveOrUncPath:\java\program1\
                                   |-- lib\
                                   |-- program1.jar

unknownNetworkDriveOrUncPath:\java\program2\
                                   |-- lib\
                                   |-- program2.jar

程序文件夹内的 lib 文件夹包含特定的 jar。 commonlib 文件夹包含每个程序可能使用的 jar。 因此,program1 应该有权访问其自己的 lib 文件夹和公共(public) lib 文件夹。程序2也是如此。

最好的方法是编译后在 dist 文件夹中具有相同的结构。然后就可以将文件复制到所需的位置。但我不知道该怎么做。

是否有关于如何配置 NetBeans 的“最佳实践”解决方案?我无法使用绝对路径或 UNC 路径,因为网络驱动器可能不同。

提前致谢。

问候。

最佳答案

您可能想要修改项目目录中存在的 build.xml 文件。 Netbeans 使用 Apache Ant 作为执行构建过程的工具。 Ant 是一个基于 XML 的脚本。它在 Netbeans 中被分成多个文件,但您唯一应该修改的是 build.xml。

阅读此文件中的注释。他们建议您应该覆盖某些目标来调整构建过程以满足您的需求。例如,我们使用“-post-jar”目标在“dist”目录中创建产品的整个安装目录。至于非绝对路径,我认为您无法实现这一目标,但您可以将内容复制到相对于项目目录的位置。我完全有可能为多个 Netbeans 项目拥有一个公共(public) dist 目录。

以下内容可能(尚未测试)将项目的 JAR 复制到“commonBuildDir”目录,该目录应与项目目录位于同一级别。

<target name="-post-jar">
    <property name="common.build.dir" location="${build.dir}/../../commonBuildDir"/>    
    <copy todir="${common.build.dir}" preservelastmodified="true">
            <fileset file="${dist.jar}"/>
    </copy>
</target>

${build.dir} 引用 Ant 属性,在本例中是一个指向项目构建目录的预定义属性。 ${dist.jar} 也是如此,它引用项目 JAR 文件的位置。如果我没记错的话,在幕后这些都是绝对路径。

Customizing Netbeans Build Script

Ant Tutorial

我认为这应该让您开始按照您希望的方式自定义构建过程。

关于java - NetBeans - 使用不同的 lib 文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10169232/

相关文章:

java - 如何将 Jbutton 覆盖在 JprogressBar 上

java - 如何使用 Java 点亮 Arduino Mega 二极管?

java - 如何在 GUI Java 中制作功能区(如 Office 2013 功能区)?

java - 如何在 BlackBerry 上使用等宽字体?

java - 从服务异常中检索 Spring Integration 中的消息

java - 为什么 Apache Flink 从数据流中删除事件?

c - 为什么我的 C 代码不产生输出?

netbeans - 将 java 文档添加到 netbeans 中的程序

java - 分屏程序,如何更改内容[Java]

java - Cassandra、Jersey Rest api 会随着每个 Rest 请求而增加线程、内存使用量和端口