0

我只是想组织我的 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 文件夹和公共 lib 文件夹。程序 2 也是如此。

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

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

提前致谢。

问候。

4

2 回答 2

2

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

阅读此文件中的注释。他们建议您应该覆盖某些目标以调整构建过程以满足您的需求。例如,我们使用“-post-jar”目标在“dist”目录中创建我们产品的整个安装目录。至于非绝对路径,我认为您无法实现,但您可以将内容复制到相对于项目目录的位置。我完全有可能为多个 Netbeans 项目提供一个通用的 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 文件的位置也是如此。如果我没记错的话,在幕后这些都是绝对路径。

自定义 Netbeans 构建脚本

蚂蚁教程

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

于 2012-04-19T07:28:36.750 回答
0

您可以创建一个commonslib库 ( Tools -> Libraries),然后在您的项目中使用。

然后在您的项目中手动添加 jar 的路径。

于 2012-04-19T07:36:52.517 回答