Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/333.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项目中的共享资源_Java - Fatal编程技术网

用于服务器和客户端包的Java项目中的共享资源

用于服务器和客户端包的Java项目中的共享资源,java,Java,我有一个Java项目,既有服务器包也有客户端包。此外,我还有一个图书馆软件包 我使用eclipse并将所有内容都放在一个Java项目中,每个部分服务器、客户机和库都在单独的包中,问题是当我导出时,所有内容都被添加到Jar文件中 所以我想我需要两个不同的项目,客户端和服务器,但是共享库文件呢?我该怎么办?我真的需要三个不同的项目吗?这将变得有点笨拙,因为所有的东西实际上都是相关的,我想把它们放在一起。您可以为共享代码创建一个单独的项目,并为此创建一个库(即jar文件)。然后,客户端和服务器项目都可

我有一个Java项目,既有服务器包也有客户端包。此外,我还有一个图书馆软件包

我使用eclipse并将所有内容都放在一个Java项目中,每个部分服务器、客户机和库都在单独的包中,问题是当我导出时,所有内容都被添加到Jar文件中


所以我想我需要两个不同的项目,客户端和服务器,但是共享库文件呢?我该怎么办?我真的需要三个不同的项目吗?这将变得有点笨拙,因为所有的东西实际上都是相关的,我想把它们放在一起。

您可以为共享代码创建一个单独的项目,并为此创建一个库(即jar文件)。然后,客户端和服务器项目都可以使用共享库

更好的是,您可以在将来将此共享库用于其他项目

注: Eclipse只是将源文件编译成它们各自的类文件,然后放入bin文件夹,或者为项目属性设置输出文件夹的任何地方。默认情况下,它不会创建jar文件

如果要创建jar文件,最好的方法是使用ant之类的工具。然后你就可以创建任何你需要的罐子,并按照你喜欢的方式构造它

这里有一个链接供参考:

我使用eclipse,并已将所有内容 在单个java项目中,每个部分 服务器、客户端和库都在 单独的包,问题是 当我导出时,所有内容都被添加 到Jar文件

这就是引起我兴趣的部分,为什么要导出既有客户端又有服务器的东西从客户机-服务器的角度来看,它们将单独分发

我真的需要三种不同的吗 项目?它会变得有点 实际上,一切都很笨拙 相关的,我想保留它们 一起

多亏了IDE现在可以管理跨项目/模块的依赖关系,我认为这看起来不像你想象的那么糟糕。例如,您可以同时处理服务器代码,并从客户机代码中使用其类和接口,以及引用服务器项目生成的JAR

我还想补充一点,“项目”也不是最广泛的代码封装,仍然有一个“工作区”可以包含许多相关的“项目”。其他IDE使用“模块”而不是“项目”等其他词语

结尾思想:

对于最小阻抗路径,我认为您应该将客户机和服务器部件分为两个项目,并对共享库做同样的考虑,以防您是从源代码(即,不是第三方JAR)编译它


因此,在一天结束时,您将从编译过程中获得3个“产品”,并将它们分发到它们所属的位置,同时在分发两侧复制“库”。

您可以为客户端和服务器端创建单独的项目,共享包可以附加到类路径定义中

。。。问题是当我出口时, 所有内容都添加到Jar文件中

这真的是个问题吗?也许共享代码是一种资产而不是负债。也许您应该在担心部署问题之前优化开发人员的问题,在这里,我们认为部署问题毕竟不是问题

所以我想我需要两个不同的 项目、客户端和服务器,但是什么 关于共享库文件?什么 我该怎么办?我真的需要吗 三个不同的项目?会的 一切都变得有点笨拙 实际上是相关的,我想 让他们在一起

我们在这里遇到了类似的情况,并选择接受共享代码。每个人都获得相同的代码,并选择启动所需的模式和配置

如果您查看我们的大型ish系统(超过5000个类),您将获得服务器(两种主要风格)、客户端(另外两种类型)、共享内容(第三方JAR、可视化资产等)和站点特定材料(配置文件、启动脚本和示例数据)的代码

结果是,在一次签出之后,您就拥有了所有主要位置、构建脚本、Netbeans和Eclipse启动配置的完整包。因此,您可以在大约五分钟内从一台空机器(只有一个IDE)变成一个工作的客户机-服务器组合

因此,双击服务器图标,启动服务器进程,运行特定于站点的配置。双击客户机,您将启动一个客户机进程,该进程已准备好连接到您刚刚创建的服务器


妙语:除非有很好的理由,否则不要让自己的开发和部署变得更困难。在我们的案例中,我们为每个安装提供了完全相同的软件包,这样更简单、更便宜、更容易维护。

嗨,我刚刚更新了一点问题以解决这个问题。有没有一种方法可以将整个项目组织到一个单独的相关项目中,但能够将部分代码导出到jar中?如果您想构建jar文件,一种方法是使用ant之类的工具。请参阅我的最新编辑。